| service/src/main/java/com/ruoyi/cwgl/controller/VehicleDailyDataController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/src/main/java/com/ruoyi/cwgl/domain/VehicleDailyData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/src/main/java/com/ruoyi/cwgl/mapper/VehicleDailyDataMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/src/main/java/com/ruoyi/cwgl/service/IVehicleDailyDataService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/src/main/java/com/ruoyi/cwgl/service/impl/VehicleDailyDataServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service/src/main/resources/mapper/cwgl/VehicleDailyDataMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ui/admin-ui3/src/api/cwgl/data.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ui/admin-ui3/src/views/cwgl/data/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
service/src/main/java/com/ruoyi/cwgl/controller/VehicleDailyDataController.java
New file @@ -0,0 +1,108 @@ package com.ruoyi.cwgl.controller; import java.util.List; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.utils.file.DownloadExportUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.cwgl.domain.VehicleDailyData; import com.ruoyi.cwgl.service.IVehicleDailyDataService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * 车辆每日数据Controller * * @author ruoyi * @date 2025-10-09 */ @RestController @RequestMapping("/cwgl/data") public class VehicleDailyDataController extends BaseController { @Autowired private IVehicleDailyDataService vehicleDailyDataService; /** * 查询车辆每日数据列表 */ @PreAuthorize("@ss.hasPermi('cwgl:data:list')") @GetMapping("/list") public TableDataInfo list(VehicleDailyData vehicleDailyData) { startPage(); List<VehicleDailyData> list = vehicleDailyDataService.selectVehicleDailyDataList(vehicleDailyData); return getDataTable(list); } /** * 导出车辆每日数据列表 * @param vehicleDailyData 查询条件对象 */ @PreAuthorize("@ss.hasPermi('cwgl:data:export')") @Log(title = "车辆每日数据", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(VehicleDailyData vehicleDailyData,String exportKey) { vehicleDailyDataService.export(vehicleDailyData,exportKey); return AjaxResult.success("导出请求成功,请稍后点击下载...!"); } /** * 获取车辆每日数据详细信息 */ @PreAuthorize("@ss.hasPermi('cwgl:data:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Integer id) { return AjaxResult.success(vehicleDailyDataService.selectVehicleDailyDataById(id)); } /** * 新增车辆每日数据 */ @PreAuthorize("@ss.hasPermi('cwgl:data:add')") @Log(title = "车辆每日数据", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody VehicleDailyData vehicleDailyData) { return toAjax(vehicleDailyDataService.insertVehicleDailyData(vehicleDailyData)); } /** * 修改车辆每日数据 */ @PreAuthorize("@ss.hasPermi('cwgl:data:edit')") @Log(title = "车辆每日数据", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody VehicleDailyData vehicleDailyData) { return toAjax(vehicleDailyDataService.updateVehicleDailyData(vehicleDailyData)); } /** * 删除车辆每日数据 */ @PreAuthorize("@ss.hasPermi('cwgl:data:remove')") @Log(title = "车辆每日数据", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Integer[] ids) { return toAjax(vehicleDailyDataService.deleteVehicleDailyDataByIds(ids)); } } service/src/main/java/com/ruoyi/cwgl/domain/VehicleDailyData.java
New file @@ -0,0 +1,283 @@ package com.ruoyi.cwgl.domain; import java.math.BigDecimal; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; import com.baomidou.mybatisplus.annotation.TableField; import java.util.Date; import lombok.Data; /** * 车辆每日数据对象 vehicle_daily_data * * @author ruoyi * @date 2025-10-09 */ @Data public class VehicleDailyData{ /** 主键ID */ @TableField("id") private Integer id; /** 车架号 */ @Excel(name = "车架号") @TableField("vin") private String vin; /** 底盘类型 */ @Excel(name = "底盘类型") @TableField("chassis_type") private String chassisType; /** 数据日期 */ @Excel(name = "数据日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss HH:mm:ss") @TableField("event_date") private Date eventDate; /** 行驶里程 */ @Excel(name = "行驶里程") @TableField("distance") private BigDecimal distance; /** 用车时长 */ @Excel(name = "用车时长") @TableField("duration") private BigDecimal duration; /** 熄火停车时长 */ @Excel(name = "熄火停车时长") @TableField("shutdown_duration") private BigDecimal shutdownDuration; /** 行驶时长 */ @Excel(name = "行驶时长") @TableField("driving_duration") private BigDecimal drivingDuration; /** 行驶时长占比 */ @Excel(name = "行驶时长占比") @TableField("driving_duration_ratio") private BigDecimal drivingDurationRatio; /** 怠速时长占比 */ @Excel(name = "怠速时长占比") @TableField("idle_duration_ratio") private BigDecimal idleDurationRatio; /** 怠速时长 */ @Excel(name = "怠速时长") @TableField("idle_duration") private BigDecimal idleDuration; /** 滑行距离占比 */ @Excel(name = "滑行距离占比") @TableField("coasting_distance_ratio") private BigDecimal coastingDistanceRatio; /** 滑行距离 */ @Excel(name = "滑行距离") @TableField("coasting_distance") private BigDecimal coastingDistance; /** 巡航距离占比 */ @Excel(name = "巡航距离占比") @TableField("cruising_distance_ratio") private BigDecimal cruisingDistanceRatio; /** 巡航距离 */ @Excel(name = "巡航距离") @TableField("cruising_distance") private BigDecimal cruisingDistance; /** 平均速度 */ @Excel(name = "平均速度") @TableField("avg_speed") private BigDecimal avgSpeed; /** 平均行车速度 */ @Excel(name = "平均行车速度") @TableField("avg_driving_speed") private BigDecimal avgDrivingSpeed; /** 发动机平均转速 */ @Excel(name = "发动机平均转速") @TableField("avg_engine_speed") private BigDecimal avgEngineSpeed; /** 经济转速时长占比 */ @Excel(name = "经济转速时长占比") @TableField("economic_engine_speed_duration_ratio") private BigDecimal economicEngineSpeedDurationRatio; /** 经济转速时长 */ @Excel(name = "经济转速时长") @TableField("economic_engine_speed_duration") private BigDecimal economicEngineSpeedDuration; /** 百公里能耗 */ @Excel(name = "百公里能耗") @TableField("avg_energy_consumption") private BigDecimal avgEnergyConsumption; /** 耗油量 */ @Excel(name = "耗油量") @TableField("energy_consumption") private BigDecimal energyConsumption; /** 行驶耗油量 */ @Excel(name = "行驶耗油量") @TableField("driving_energy_consumption") private BigDecimal drivingEnergyConsumption; /** 行驶耗油量占比 */ @Excel(name = "行驶耗油量占比") @TableField("driving_energy_consumption_ratio") private BigDecimal drivingEnergyConsumptionRatio; /** 怠速耗油量占比 */ @Excel(name = "怠速耗油量占比") @TableField("idle_energy_consumption_ratio") private BigDecimal idleEnergyConsumptionRatio; /** 怠速耗油量 */ @Excel(name = "怠速耗油量") @TableField("idle_energy_consumption") private BigDecimal idleEnergyConsumption; /** 百公里尿素消耗 */ @Excel(name = "百公里尿素消耗") @TableField("avg_adblue_consumption") private BigDecimal avgAdblueConsumption; /** 尿素消耗 */ @Excel(name = "尿素消耗") @TableField("adblue_consumption") private BigDecimal adblueConsumption; /** 平均整车质量 */ @Excel(name = "平均整车质量") @TableField("avg_gross_weight") private BigDecimal avgGrossWeight; /** 刹车次数 */ @Excel(name = "刹车次数") @TableField("brake_times") private Integer brakeTimes; /** 急刹车次数 */ @Excel(name = "急刹车次数") @TableField("harsh_brake_times") private Integer harshBrakeTimes; /** 急加速次数 */ @Excel(name = "急加速次数") @TableField("acceleration_times") private Integer accelerationTimes; /** 百公里刹车次数 */ @Excel(name = "百公里刹车次数") @TableField("avg_brake_times") private Integer avgBrakeTimes; /** 百公里急刹车次数 */ @Excel(name = "百公里急刹车次数") @TableField("avg_harsh_brake_times") private Integer avgHarshBrakeTimes; /** 百公里急加速次数 */ @Excel(name = "百公里急加速次数") @TableField("avg_acceleration_times") private Integer avgAccelerationTimes; /** 里程表里程 */ @Excel(name = "里程表里程") @TableField("odometer") private BigDecimal odometer; /** 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss HH:mm:ss") @TableField("create_time") private Date createTime; /** 更新时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss HH:mm:ss") @TableField("update_time") private Date updateTime; } service/src/main/java/com/ruoyi/cwgl/mapper/VehicleDailyDataMapper.java
New file @@ -0,0 +1,87 @@ package com.ruoyi.cwgl.mapper; import java.util.List; import com.ruoyi.cwgl.domain.VehicleDailyData; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * 车辆每日数据Mapper接口 * * @author ruoyi * @date 2025-10-09 */ public interface VehicleDailyDataMapper extends BaseMapper<VehicleDailyData> { /** * 查询车辆每日数据 * * @param id 车辆每日数据ID * @return 车辆每日数据 */ public VehicleDailyData selectVehicleDailyDataById(Integer id); /** * 查询车辆每日数据 记录数 * * @param vehicleDailyData 车辆每日数据 * @return 车辆每日数据集合 */ public int selectVehicleDailyDataCount(VehicleDailyData vehicleDailyData); /** * 查询车辆每日数据列表 * * @param vehicleDailyData 车辆每日数据 * @return 车辆每日数据集合 */ public List<VehicleDailyData> selectVehicleDailyDataList(VehicleDailyData vehicleDailyData); /** * 新增车辆每日数据 * * @param vehicleDailyData 车辆每日数据 * @return 结果 */ public int insertVehicleDailyData(VehicleDailyData vehicleDailyData); /** * 新增车辆每日数据[批量] * * @param vehicleDailyDatas 车辆每日数据 * @return 结果 */ public int insertVehicleDailyDataBatch(List<VehicleDailyData> vehicleDailyDatas); /** * 修改车辆每日数据 * * @param vehicleDailyData 车辆每日数据 * @return 结果 */ public int updateVehicleDailyData(VehicleDailyData vehicleDailyData); /** * 修改车辆每日数据[批量] * * @param vehicleDailyDatas 车辆每日数据 * @return 结果 */ public int updateVehicleDailyDataBatch(List<VehicleDailyData> vehicleDailyDatas); /** * 删除车辆每日数据 * * @param id 车辆每日数据ID * @return 结果 */ public int deleteVehicleDailyDataById(Integer id); /** * 批量删除车辆每日数据 * * @param ids 需要删除的数据ID * @return 结果 */ public int deleteVehicleDailyDataByIds(Integer[] ids); } service/src/main/java/com/ruoyi/cwgl/service/IVehicleDailyDataService.java
New file @@ -0,0 +1,102 @@ package com.ruoyi.cwgl.service; import java.util.List; import com.ruoyi.cwgl.domain.VehicleDailyData; import com.baomidou.mybatisplus.extension.service.IService; /** * 车辆每日数据Service接口 * * @author ruoyi * @date 2025-10-09 */ public interface IVehicleDailyDataService extends IService<VehicleDailyData> { /** * 查询车辆每日数据 * * @param id 车辆每日数据ID * @return 车辆每日数据 */ public VehicleDailyData selectVehicleDailyDataById(Integer id); /** * 查询车辆每日数据 记录数 * * @param vehicleDailyData 车辆每日数据 * @return 车辆每日数据集合 */ public int selectVehicleDailyDataCount(VehicleDailyData vehicleDailyData); /** * 查询车辆每日数据列表 * * @param vehicleDailyData 车辆每日数据 * @return 车辆每日数据集合 */ public List<VehicleDailyData> selectVehicleDailyDataList(VehicleDailyData vehicleDailyData); /** * 查询车辆每日数据列表 异步 导出 * * @param vehicleDailyData 车辆每日数据 * @param exportKey 导出功能的唯一标识 * @return 车辆每日数据集合 */ public void export(VehicleDailyData vehicleDailyData, String exportKey) ; /** * 新增车辆每日数据 * * @param vehicleDailyData 车辆每日数据 * @return 结果 */ public int insertVehicleDailyData(VehicleDailyData vehicleDailyData); /** * 新增车辆每日数据[批量] * * @param vehicleDailyDatas 车辆每日数据 * @return 结果 */ public int insertVehicleDailyDataBatch(List<VehicleDailyData> vehicleDailyDatas); /** * 修改车辆每日数据 * * @param vehicleDailyData 车辆每日数据 * @return 结果 */ public int updateVehicleDailyData(VehicleDailyData vehicleDailyData); /** * 修改车辆每日数据[批量] * * @param vehicleDailyDatas 车辆每日数据 * @return 结果 */ public int updateVehicleDailyDataBatch(List<VehicleDailyData> vehicleDailyDatas); /** * 批量删除车辆每日数据 * * @param ids 需要删除的数据ID * @return 结果 */ public int deleteVehicleDailyDataByIds(String ids); /** * 批量删除车辆每日数据 * * @param ids 需要删除的数据ID * @return 结果 */ public int deleteVehicleDailyDataByIds(Integer[] ids); /** * 删除车辆每日数据信息 * * @param id 车辆每日数据ID * @return 结果 */ public int deleteVehicleDailyDataById(Integer id); } service/src/main/java/com/ruoyi/cwgl/service/impl/VehicleDailyDataServiceImpl.java
New file @@ -0,0 +1,182 @@ package com.ruoyi.cwgl.service.impl; import java.util.List; import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional; import org.springframework.stereotype.Service; import org.springframework.scheduling.annotation.Async; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.core.service.BaseService; import com.ruoyi.cwgl.mapper.VehicleDailyDataMapper; import com.ruoyi.cwgl.domain.VehicleDailyData; import com.ruoyi.cwgl.service.IVehicleDailyDataService; import com.ruoyi.common.core.text.Convert; /** * 车辆每日数据Service业务层处理 * * @author ruoyi * @date 2025-10-09 */ @Service @Transactional(rollbackFor = Exception.class) public class VehicleDailyDataServiceImpl extends BaseService<VehicleDailyDataMapper, VehicleDailyData> implements IVehicleDailyDataService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private VehicleDailyDataMapper vehicleDailyDataMapper; /** * 查询车辆每日数据 * * @param id 车辆每日数据ID * @return 车辆每日数据 */ @DataSource(DataSourceType.SLAVE) @Override public VehicleDailyData selectVehicleDailyDataById(Integer id) { return vehicleDailyDataMapper.selectVehicleDailyDataById(id); } /** * 查询车辆每日数据 记录数 * * @param vehicleDailyData 车辆每日数据 * @return 车辆每日数据集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectVehicleDailyDataCount(VehicleDailyData vehicleDailyData) { return vehicleDailyDataMapper.selectVehicleDailyDataCount(vehicleDailyData); } /** * 查询车辆每日数据列表 * * @param vehicleDailyData 车辆每日数据 * @return 车辆每日数据 */ @DataSource(DataSourceType.SLAVE) @Override public List<VehicleDailyData> selectVehicleDailyDataList(VehicleDailyData vehicleDailyData) { return vehicleDailyDataMapper.selectVehicleDailyDataList(vehicleDailyData); } /** * 查询车辆每日数据列表 异步 导出 * * @param vehicleDailyData 车辆每日数据 * @param exportKey 导出功能的唯一标识 * @return 车辆每日数据集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(VehicleDailyData vehicleDailyData,String exportKey) { super.export(VehicleDailyData.class,exportKey,"vehicleDailyDataData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectVehicleDailyDataList(vehicleDailyData); }); } /** * 新增车辆每日数据 * * @param vehicleDailyData 车辆每日数据 * @return 结果 */ @Override public int insertVehicleDailyData(VehicleDailyData vehicleDailyData) { vehicleDailyData.setCreateTime(DateUtils.getNowDate()); return vehicleDailyDataMapper.insertVehicleDailyData(vehicleDailyData); } /** * 新增车辆每日数据[批量] * * @param vehicleDailyDatas 车辆每日数据 * @return 结果 */ @Override public int insertVehicleDailyDataBatch(List<VehicleDailyData> vehicleDailyDatas) { int rows = vehicleDailyDataMapper.insertVehicleDailyDataBatch(vehicleDailyDatas); return rows; } /** * 修改车辆每日数据 * * @param vehicleDailyData 车辆每日数据 * @return 结果 */ @Override public int updateVehicleDailyData(VehicleDailyData vehicleDailyData) { vehicleDailyData.setUpdateTime(DateUtils.getNowDate()); return vehicleDailyDataMapper.updateVehicleDailyData(vehicleDailyData); } /** * 修改车辆每日数据[批量] * * @param vehicleDailyDatas 车辆每日数据 * @return 结果 */ @Override public int updateVehicleDailyDataBatch(List<VehicleDailyData> vehicleDailyDatas){ return vehicleDailyDataMapper.updateVehicleDailyDataBatch(vehicleDailyDatas); } /** * 删除车辆每日数据对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteVehicleDailyDataByIds(String ids) { return deleteVehicleDailyDataByIds(Convert.toIntArray(ids)); } /** * 删除车辆每日数据对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteVehicleDailyDataByIds(Integer[] ids) { return vehicleDailyDataMapper.deleteVehicleDailyDataByIds(ids); } /** * 删除车辆每日数据信息 * * @param id 车辆每日数据ID * @return 结果 */ @Override public int deleteVehicleDailyDataById(Integer id) { return vehicleDailyDataMapper.deleteVehicleDailyDataById(id); } } service/src/main/resources/mapper/cwgl/VehicleDailyDataMapper.xml
New file @@ -0,0 +1,312 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.cwgl.mapper.VehicleDailyDataMapper"> <resultMap type="com.ruoyi.cwgl.domain.VehicleDailyData" id="VehicleDailyDataResult"> <result property="id" column="id" /> <result property="vin" column="vin" /> <result property="chassisType" column="chassis_type" /> <result property="eventDate" column="event_date" /> <result property="distance" column="distance" /> <result property="duration" column="duration" /> <result property="shutdownDuration" column="shutdown_duration" /> <result property="drivingDuration" column="driving_duration" /> <result property="drivingDurationRatio" column="driving_duration_ratio" /> <result property="idleDurationRatio" column="idle_duration_ratio" /> <result property="idleDuration" column="idle_duration" /> <result property="coastingDistanceRatio" column="coasting_distance_ratio" /> <result property="coastingDistance" column="coasting_distance" /> <result property="cruisingDistanceRatio" column="cruising_distance_ratio" /> <result property="cruisingDistance" column="cruising_distance" /> <result property="avgSpeed" column="avg_speed" /> <result property="avgDrivingSpeed" column="avg_driving_speed" /> <result property="avgEngineSpeed" column="avg_engine_speed" /> <result property="economicEngineSpeedDurationRatio" column="economic_engine_speed_duration_ratio" /> <result property="economicEngineSpeedDuration" column="economic_engine_speed_duration" /> <result property="avgEnergyConsumption" column="avg_energy_consumption" /> <result property="energyConsumption" column="energy_consumption" /> <result property="drivingEnergyConsumption" column="driving_energy_consumption" /> <result property="drivingEnergyConsumptionRatio" column="driving_energy_consumption_ratio" /> <result property="idleEnergyConsumptionRatio" column="idle_energy_consumption_ratio" /> <result property="idleEnergyConsumption" column="idle_energy_consumption" /> <result property="avgAdblueConsumption" column="avg_adblue_consumption" /> <result property="adblueConsumption" column="adblue_consumption" /> <result property="avgGrossWeight" column="avg_gross_weight" /> <result property="brakeTimes" column="brake_times" /> <result property="harshBrakeTimes" column="harsh_brake_times" /> <result property="accelerationTimes" column="acceleration_times" /> <result property="avgBrakeTimes" column="avg_brake_times" /> <result property="avgHarshBrakeTimes" column="avg_harsh_brake_times" /> <result property="avgAccelerationTimes" column="avg_acceleration_times" /> <result property="odometer" column="odometer" /> <result property="createTime" column="create_time" /> <result property="updateTime" column="update_time" /> </resultMap> <sql id="selectVehicleDailyDataVo"> select thisTab.id, thisTab.vin, thisTab.chassis_type, thisTab.event_date, thisTab.distance, thisTab.duration, thisTab.shutdown_duration, thisTab.driving_duration, thisTab.driving_duration_ratio, thisTab.idle_duration_ratio, thisTab.idle_duration, thisTab.coasting_distance_ratio, thisTab.coasting_distance, thisTab.cruising_distance_ratio, thisTab.cruising_distance, thisTab.avg_speed, thisTab.avg_driving_speed, thisTab.avg_engine_speed, thisTab.economic_engine_speed_duration_ratio, thisTab.economic_engine_speed_duration, thisTab.avg_energy_consumption, thisTab.energy_consumption, thisTab.driving_energy_consumption, thisTab.driving_energy_consumption_ratio, thisTab.idle_energy_consumption_ratio, thisTab.idle_energy_consumption, thisTab.avg_adblue_consumption, thisTab.adblue_consumption, thisTab.avg_gross_weight, thisTab.brake_times, thisTab.harsh_brake_times, thisTab.acceleration_times, thisTab.avg_brake_times, thisTab.avg_harsh_brake_times, thisTab.avg_acceleration_times, thisTab.odometer, thisTab.create_time, thisTab.update_time from vehicle_daily_data AS thisTab </sql> <sql id="selectVehicleDailyDataVoCount"> select count(0) from vehicle_daily_data as thisTab </sql> <sql id="whereCondition"> <if test="vin != null and vin != ''"> and thisTab.vin = #{vin}</if> <if test="chassisType != null and chassisType != ''"> and thisTab.chassis_type = #{chassisType}</if> <if test="eventDate != null "> and thisTab.event_date = #{eventDate}</if> <if test="distance != null "> and thisTab.distance = #{distance}</if> <if test="duration != null "> and thisTab.duration = #{duration}</if> <if test="shutdownDuration != null "> and thisTab.shutdown_duration = #{shutdownDuration}</if> <if test="drivingDuration != null "> and thisTab.driving_duration = #{drivingDuration}</if> <if test="drivingDurationRatio != null "> and thisTab.driving_duration_ratio = #{drivingDurationRatio}</if> <if test="idleDurationRatio != null "> and thisTab.idle_duration_ratio = #{idleDurationRatio}</if> <if test="idleDuration != null "> and thisTab.idle_duration = #{idleDuration}</if> <if test="coastingDistanceRatio != null "> and thisTab.coasting_distance_ratio = #{coastingDistanceRatio}</if> <if test="coastingDistance != null "> and thisTab.coasting_distance = #{coastingDistance}</if> <if test="cruisingDistanceRatio != null "> and thisTab.cruising_distance_ratio = #{cruisingDistanceRatio}</if> <if test="cruisingDistance != null "> and thisTab.cruising_distance = #{cruisingDistance}</if> <if test="avgSpeed != null "> and thisTab.avg_speed = #{avgSpeed}</if> <if test="avgDrivingSpeed != null "> and thisTab.avg_driving_speed = #{avgDrivingSpeed}</if> <if test="avgEngineSpeed != null "> and thisTab.avg_engine_speed = #{avgEngineSpeed}</if> <if test="economicEngineSpeedDurationRatio != null "> and thisTab.economic_engine_speed_duration_ratio = #{economicEngineSpeedDurationRatio}</if> <if test="economicEngineSpeedDuration != null "> and thisTab.economic_engine_speed_duration = #{economicEngineSpeedDuration}</if> <if test="avgEnergyConsumption != null "> and thisTab.avg_energy_consumption = #{avgEnergyConsumption}</if> <if test="energyConsumption != null "> and thisTab.energy_consumption = #{energyConsumption}</if> <if test="drivingEnergyConsumption != null "> and thisTab.driving_energy_consumption = #{drivingEnergyConsumption}</if> <if test="drivingEnergyConsumptionRatio != null "> and thisTab.driving_energy_consumption_ratio = #{drivingEnergyConsumptionRatio}</if> <if test="idleEnergyConsumptionRatio != null "> and thisTab.idle_energy_consumption_ratio = #{idleEnergyConsumptionRatio}</if> <if test="idleEnergyConsumption != null "> and thisTab.idle_energy_consumption = #{idleEnergyConsumption}</if> <if test="avgAdblueConsumption != null "> and thisTab.avg_adblue_consumption = #{avgAdblueConsumption}</if> <if test="adblueConsumption != null "> and thisTab.adblue_consumption = #{adblueConsumption}</if> <if test="avgGrossWeight != null "> and thisTab.avg_gross_weight = #{avgGrossWeight}</if> <if test="brakeTimes != null "> and thisTab.brake_times = #{brakeTimes}</if> <if test="harshBrakeTimes != null "> and thisTab.harsh_brake_times = #{harshBrakeTimes}</if> <if test="accelerationTimes != null "> and thisTab.acceleration_times = #{accelerationTimes}</if> <if test="avgBrakeTimes != null "> and thisTab.avg_brake_times = #{avgBrakeTimes}</if> <if test="avgHarshBrakeTimes != null "> and thisTab.avg_harsh_brake_times = #{avgHarshBrakeTimes}</if> <if test="avgAccelerationTimes != null "> and thisTab.avg_acceleration_times = #{avgAccelerationTimes}</if> <if test="odometer != null "> and thisTab.odometer = #{odometer}</if> <if test="createTimeBegin != null and createTimeBegin != '' and createTimeEnd != null and createTimeEnd != ''"> and thisTab.create_time between #{createTimeBegin} and #{createTimeEnd}</if> </sql> <!--查询--> <select id="selectVehicleDailyDataById" parameterType="Integer" resultMap="VehicleDailyDataResult"> <include refid="selectVehicleDailyDataVo"/> where id = #{id} </select> <select id="selectVehicleDailyDataCount" parameterType="com.ruoyi.cwgl.domain.VehicleDailyData" resultType="int"> <include refid="selectVehicleDailyDataVoCount"/> <where> <include refid="whereCondition"/> </where> </select> <select id="selectVehicleDailyDataList" parameterType="com.ruoyi.cwgl.domain.VehicleDailyData" resultMap="VehicleDailyDataResult"> <include refid="selectVehicleDailyDataVo"/> <where> <include refid="whereCondition"/> </where> order by thisTab.id desc </select> <!-- 新增 --> <insert id="insertVehicleDailyData" parameterType="com.ruoyi.cwgl.domain.VehicleDailyData" useGeneratedKeys="true" keyProperty="id"> insert into vehicle_daily_data <trim prefix="(" suffix=")" suffixOverrides=","> <if test="vin != null and vin != ''">vin,</if> <if test="chassisType != null">chassis_type,</if> <if test="eventDate != null">event_date,</if> <if test="distance != null">distance,</if> <if test="duration != null">duration,</if> <if test="shutdownDuration != null">shutdown_duration,</if> <if test="drivingDuration != null">driving_duration,</if> <if test="drivingDurationRatio != null">driving_duration_ratio,</if> <if test="idleDurationRatio != null">idle_duration_ratio,</if> <if test="idleDuration != null">idle_duration,</if> <if test="coastingDistanceRatio != null">coasting_distance_ratio,</if> <if test="coastingDistance != null">coasting_distance,</if> <if test="cruisingDistanceRatio != null">cruising_distance_ratio,</if> <if test="cruisingDistance != null">cruising_distance,</if> <if test="avgSpeed != null">avg_speed,</if> <if test="avgDrivingSpeed != null">avg_driving_speed,</if> <if test="avgEngineSpeed != null">avg_engine_speed,</if> <if test="economicEngineSpeedDurationRatio != null">economic_engine_speed_duration_ratio,</if> <if test="economicEngineSpeedDuration != null">economic_engine_speed_duration,</if> <if test="avgEnergyConsumption != null">avg_energy_consumption,</if> <if test="energyConsumption != null">energy_consumption,</if> <if test="drivingEnergyConsumption != null">driving_energy_consumption,</if> <if test="drivingEnergyConsumptionRatio != null">driving_energy_consumption_ratio,</if> <if test="idleEnergyConsumptionRatio != null">idle_energy_consumption_ratio,</if> <if test="idleEnergyConsumption != null">idle_energy_consumption,</if> <if test="avgAdblueConsumption != null">avg_adblue_consumption,</if> <if test="adblueConsumption != null">adblue_consumption,</if> <if test="avgGrossWeight != null">avg_gross_weight,</if> <if test="brakeTimes != null">brake_times,</if> <if test="harshBrakeTimes != null">harsh_brake_times,</if> <if test="accelerationTimes != null">acceleration_times,</if> <if test="avgBrakeTimes != null">avg_brake_times,</if> <if test="avgHarshBrakeTimes != null">avg_harsh_brake_times,</if> <if test="avgAccelerationTimes != null">avg_acceleration_times,</if> <if test="odometer != null">odometer,</if> <if test="createTime != null">create_time,</if> <if test="updateTime != null">update_time,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="vin != null and vin != ''">#{vin},</if> <if test="chassisType != null">#{chassisType},</if> <if test="eventDate != null">#{eventDate},</if> <if test="distance != null">#{distance},</if> <if test="duration != null">#{duration},</if> <if test="shutdownDuration != null">#{shutdownDuration},</if> <if test="drivingDuration != null">#{drivingDuration},</if> <if test="drivingDurationRatio != null">#{drivingDurationRatio},</if> <if test="idleDurationRatio != null">#{idleDurationRatio},</if> <if test="idleDuration != null">#{idleDuration},</if> <if test="coastingDistanceRatio != null">#{coastingDistanceRatio},</if> <if test="coastingDistance != null">#{coastingDistance},</if> <if test="cruisingDistanceRatio != null">#{cruisingDistanceRatio},</if> <if test="cruisingDistance != null">#{cruisingDistance},</if> <if test="avgSpeed != null">#{avgSpeed},</if> <if test="avgDrivingSpeed != null">#{avgDrivingSpeed},</if> <if test="avgEngineSpeed != null">#{avgEngineSpeed},</if> <if test="economicEngineSpeedDurationRatio != null">#{economicEngineSpeedDurationRatio},</if> <if test="economicEngineSpeedDuration != null">#{economicEngineSpeedDuration},</if> <if test="avgEnergyConsumption != null">#{avgEnergyConsumption},</if> <if test="energyConsumption != null">#{energyConsumption},</if> <if test="drivingEnergyConsumption != null">#{drivingEnergyConsumption},</if> <if test="drivingEnergyConsumptionRatio != null">#{drivingEnergyConsumptionRatio},</if> <if test="idleEnergyConsumptionRatio != null">#{idleEnergyConsumptionRatio},</if> <if test="idleEnergyConsumption != null">#{idleEnergyConsumption},</if> <if test="avgAdblueConsumption != null">#{avgAdblueConsumption},</if> <if test="adblueConsumption != null">#{adblueConsumption},</if> <if test="avgGrossWeight != null">#{avgGrossWeight},</if> <if test="brakeTimes != null">#{brakeTimes},</if> <if test="harshBrakeTimes != null">#{harshBrakeTimes},</if> <if test="accelerationTimes != null">#{accelerationTimes},</if> <if test="avgBrakeTimes != null">#{avgBrakeTimes},</if> <if test="avgHarshBrakeTimes != null">#{avgHarshBrakeTimes},</if> <if test="avgAccelerationTimes != null">#{avgAccelerationTimes},</if> <if test="odometer != null">#{odometer},</if> <if test="createTime != null">#{createTime},</if> <if test="updateTime != null">#{updateTime},</if> </trim> </insert> <insert id="insertVehicleDailyDataBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> insert into vehicle_daily_data <trim prefix="(" suffix=") values" suffixOverrides=","> id,vin,chassis_type,event_date,distance,duration,shutdown_duration,driving_duration,driving_duration_ratio,idle_duration_ratio,idle_duration,coasting_distance_ratio,coasting_distance,cruising_distance_ratio,cruising_distance,avg_speed,avg_driving_speed,avg_engine_speed,economic_engine_speed_duration_ratio,economic_engine_speed_duration,avg_energy_consumption,energy_consumption,driving_energy_consumption,driving_energy_consumption_ratio,idle_energy_consumption_ratio,idle_energy_consumption,avg_adblue_consumption,adblue_consumption,avg_gross_weight,brake_times,harsh_brake_times,acceleration_times,avg_brake_times,avg_harsh_brake_times,avg_acceleration_times,odometer,create_time,update_time, </trim> <foreach item="item" index="index" collection="list" separator=","> <trim prefix="(" suffix=") " suffixOverrides=","> #{item.id},#{item.vin},#{item.chassisType},#{item.eventDate},#{item.distance},#{item.duration},#{item.shutdownDuration},#{item.drivingDuration},#{item.drivingDurationRatio},#{item.idleDurationRatio},#{item.idleDuration},#{item.coastingDistanceRatio},#{item.coastingDistance},#{item.cruisingDistanceRatio},#{item.cruisingDistance},#{item.avgSpeed},#{item.avgDrivingSpeed},#{item.avgEngineSpeed},#{item.economicEngineSpeedDurationRatio},#{item.economicEngineSpeedDuration},#{item.avgEnergyConsumption},#{item.energyConsumption},#{item.drivingEnergyConsumption},#{item.drivingEnergyConsumptionRatio},#{item.idleEnergyConsumptionRatio},#{item.idleEnergyConsumption},#{item.avgAdblueConsumption},#{item.adblueConsumption},#{item.avgGrossWeight},#{item.brakeTimes},#{item.harshBrakeTimes},#{item.accelerationTimes},#{item.avgBrakeTimes},#{item.avgHarshBrakeTimes},#{item.avgAccelerationTimes},#{item.odometer},#{item.createTime},#{item.updateTime}, </trim> </foreach> </insert> <!-- 修改 --> <update id="updateVehicleDailyData" parameterType="com.ruoyi.cwgl.domain.VehicleDailyData"> update vehicle_daily_data <trim prefix="SET" suffixOverrides=","> <if test="vin != null and vin != ''">vin = #{vin},</if> <if test="chassisType != null">chassis_type = #{chassisType},</if> <if test="eventDate != null">event_date = #{eventDate},</if> <if test="distance != null">distance = #{distance},</if> <if test="duration != null">duration = #{duration},</if> <if test="shutdownDuration != null">shutdown_duration = #{shutdownDuration},</if> <if test="drivingDuration != null">driving_duration = #{drivingDuration},</if> <if test="drivingDurationRatio != null">driving_duration_ratio = #{drivingDurationRatio},</if> <if test="idleDurationRatio != null">idle_duration_ratio = #{idleDurationRatio},</if> <if test="idleDuration != null">idle_duration = #{idleDuration},</if> <if test="coastingDistanceRatio != null">coasting_distance_ratio = #{coastingDistanceRatio},</if> <if test="coastingDistance != null">coasting_distance = #{coastingDistance},</if> <if test="cruisingDistanceRatio != null">cruising_distance_ratio = #{cruisingDistanceRatio},</if> <if test="cruisingDistance != null">cruising_distance = #{cruisingDistance},</if> <if test="avgSpeed != null">avg_speed = #{avgSpeed},</if> <if test="avgDrivingSpeed != null">avg_driving_speed = #{avgDrivingSpeed},</if> <if test="avgEngineSpeed != null">avg_engine_speed = #{avgEngineSpeed},</if> <if test="economicEngineSpeedDurationRatio != null">economic_engine_speed_duration_ratio = #{economicEngineSpeedDurationRatio},</if> <if test="economicEngineSpeedDuration != null">economic_engine_speed_duration = #{economicEngineSpeedDuration},</if> <if test="avgEnergyConsumption != null">avg_energy_consumption = #{avgEnergyConsumption},</if> <if test="energyConsumption != null">energy_consumption = #{energyConsumption},</if> <if test="drivingEnergyConsumption != null">driving_energy_consumption = #{drivingEnergyConsumption},</if> <if test="drivingEnergyConsumptionRatio != null">driving_energy_consumption_ratio = #{drivingEnergyConsumptionRatio},</if> <if test="idleEnergyConsumptionRatio != null">idle_energy_consumption_ratio = #{idleEnergyConsumptionRatio},</if> <if test="idleEnergyConsumption != null">idle_energy_consumption = #{idleEnergyConsumption},</if> <if test="avgAdblueConsumption != null">avg_adblue_consumption = #{avgAdblueConsumption},</if> <if test="adblueConsumption != null">adblue_consumption = #{adblueConsumption},</if> <if test="avgGrossWeight != null">avg_gross_weight = #{avgGrossWeight},</if> <if test="brakeTimes != null">brake_times = #{brakeTimes},</if> <if test="harshBrakeTimes != null">harsh_brake_times = #{harshBrakeTimes},</if> <if test="accelerationTimes != null">acceleration_times = #{accelerationTimes},</if> <if test="avgBrakeTimes != null">avg_brake_times = #{avgBrakeTimes},</if> <if test="avgHarshBrakeTimes != null">avg_harsh_brake_times = #{avgHarshBrakeTimes},</if> <if test="avgAccelerationTimes != null">avg_acceleration_times = #{avgAccelerationTimes},</if> <if test="odometer != null">odometer = #{odometer},</if> <if test="createTime != null">create_time = #{createTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if> </trim> where id = #{id} </update> <!-- 修改 --> <update id="updateVehicleDailyDataBatch" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" separator=";"> update vehicle_daily_data <trim prefix="SET" suffixOverrides=","> <if test="item.vin != null and item.vin != ''">vin = #{item.vin},</if> <if test="item.chassisType != null">chassis_type = #{item.chassisType},</if> <if test="item.eventDate != null">event_date = #{item.eventDate},</if> <if test="item.distance != null">distance = #{item.distance},</if> <if test="item.duration != null">duration = #{item.duration},</if> <if test="item.shutdownDuration != null">shutdown_duration = #{item.shutdownDuration},</if> <if test="item.drivingDuration != null">driving_duration = #{item.drivingDuration},</if> <if test="item.drivingDurationRatio != null">driving_duration_ratio = #{item.drivingDurationRatio},</if> <if test="item.idleDurationRatio != null">idle_duration_ratio = #{item.idleDurationRatio},</if> <if test="item.idleDuration != null">idle_duration = #{item.idleDuration},</if> <if test="item.coastingDistanceRatio != null">coasting_distance_ratio = #{item.coastingDistanceRatio},</if> <if test="item.coastingDistance != null">coasting_distance = #{item.coastingDistance},</if> <if test="item.cruisingDistanceRatio != null">cruising_distance_ratio = #{item.cruisingDistanceRatio},</if> <if test="item.cruisingDistance != null">cruising_distance = #{item.cruisingDistance},</if> <if test="item.avgSpeed != null">avg_speed = #{item.avgSpeed},</if> <if test="item.avgDrivingSpeed != null">avg_driving_speed = #{item.avgDrivingSpeed},</if> <if test="item.avgEngineSpeed != null">avg_engine_speed = #{item.avgEngineSpeed},</if> <if test="item.economicEngineSpeedDurationRatio != null">economic_engine_speed_duration_ratio = #{item.economicEngineSpeedDurationRatio},</if> <if test="item.economicEngineSpeedDuration != null">economic_engine_speed_duration = #{item.economicEngineSpeedDuration},</if> <if test="item.avgEnergyConsumption != null">avg_energy_consumption = #{item.avgEnergyConsumption},</if> <if test="item.energyConsumption != null">energy_consumption = #{item.energyConsumption},</if> <if test="item.drivingEnergyConsumption != null">driving_energy_consumption = #{item.drivingEnergyConsumption},</if> <if test="item.drivingEnergyConsumptionRatio != null">driving_energy_consumption_ratio = #{item.drivingEnergyConsumptionRatio},</if> <if test="item.idleEnergyConsumptionRatio != null">idle_energy_consumption_ratio = #{item.idleEnergyConsumptionRatio},</if> <if test="item.idleEnergyConsumption != null">idle_energy_consumption = #{item.idleEnergyConsumption},</if> <if test="item.avgAdblueConsumption != null">avg_adblue_consumption = #{item.avgAdblueConsumption},</if> <if test="item.adblueConsumption != null">adblue_consumption = #{item.adblueConsumption},</if> <if test="item.avgGrossWeight != null">avg_gross_weight = #{item.avgGrossWeight},</if> <if test="item.brakeTimes != null">brake_times = #{item.brakeTimes},</if> <if test="item.harshBrakeTimes != null">harsh_brake_times = #{item.harshBrakeTimes},</if> <if test="item.accelerationTimes != null">acceleration_times = #{item.accelerationTimes},</if> <if test="item.avgBrakeTimes != null">avg_brake_times = #{item.avgBrakeTimes},</if> <if test="item.avgHarshBrakeTimes != null">avg_harsh_brake_times = #{item.avgHarshBrakeTimes},</if> <if test="item.avgAccelerationTimes != null">avg_acceleration_times = #{item.avgAccelerationTimes},</if> <if test="item.odometer != null">odometer = #{item.odometer},</if> <if test="item.createTime != null">create_time = #{item.createTime},</if> <if test="item.updateTime != null">update_time = #{item.updateTime},</if> </trim> where id = #{item.id} </foreach> </update> <!--删除--> <delete id="deleteVehicleDailyDataById" parameterType="Integer"> delete from vehicle_daily_data where id = #{id} </delete> <delete id="deleteVehicleDailyDataByIds" parameterType="Integer"> delete from vehicle_daily_data where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> </mapper> ui/admin-ui3/src/api/cwgl/data.ts
New file @@ -0,0 +1,67 @@ import request,{download,requestType} from "@/utils/request"; import {BaseEntityInterface} from "@/utils/globalInterface"; export interface DataI extends BaseEntityInterface{ id ?: number , vin ?: string , chassisType ?: string , eventDate ?: string , distance ?: string , duration ?: string , shutdownDuration ?: string , drivingDuration ?: string , drivingDurationRatio ?: string , idleDurationRatio ?: string , idleDuration ?: string , coastingDistanceRatio ?: string , coastingDistance ?: string , cruisingDistanceRatio ?: string , cruisingDistance ?: string , avgSpeed ?: string , avgDrivingSpeed ?: string , avgEngineSpeed ?: string , economicEngineSpeedDurationRatio ?: string , economicEngineSpeedDuration ?: string , avgEnergyConsumption ?: string , energyConsumption ?: string , drivingEnergyConsumption ?: string , drivingEnergyConsumptionRatio ?: string , idleEnergyConsumptionRatio ?: string , idleEnergyConsumption ?: string , avgAdblueConsumption ?: string , adblueConsumption ?: string , avgGrossWeight ?: string , brakeTimes ?: number , harshBrakeTimes ?: number , accelerationTimes ?: number , avgBrakeTimes ?: number , avgHarshBrakeTimes ?: number , avgAccelerationTimes ?: number , odometer ?: string , createTime ?: string , updateTime ?: string } /** * 查询车辆每日数据列表 */ export const listData:requestType = (query) => { return request({ url: '/cwgl/data/list', method:'get', params:query }) } /** * 查询车辆每日数据详细 */ export const getData:requestType = (id) => { return request({ url: '/cwgl/data/' + id, method:'get' }) } /** * 新增车辆每日数据 */ export const addData:requestType = (data) => { return request({ url: '/cwgl/data', method: 'post', data }) } /** * 修改车辆每日数据 */ export const updateData:requestType = (data) => { return request({ url: '/cwgl/data', method: 'put', data }) } /** * 删除车辆每日数据 */ export const delData:requestType = (id) => { return request({ url: '/cwgl/data/' + id, method: 'delete' }) } /** * 导出车辆每日数据 */ export const exportData:requestType = (query) => { return new Promise<any>(()=>{ download('/cwgl/data/export',query); }) } ui/admin-ui3/src/views/cwgl/data/index.vue
New file @@ -0,0 +1,234 @@ <template> <basicContainer > <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page" :permission="permissionList" :before-open="beforeOpen" v-model="form" ref="crudRef" @row-update="rowUpdate" @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @on-load="onLoad" > <template #menu-left> <el-button type="success" icon="Edit" :disabled="pageF.single" v-hasPermi="['cwgl:data:edit']" @click="handleUpdate">修改 </el-button> <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete" v-hasPermi="['cwgl:data:remove']" >删除 </el-button> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['cwgl:data:export']" >导出 </el-button> </template> </avue-crud> </basicContainer> </template> <script setup name="data" lang="ts"> import {DataI,addData, delData, exportData, getData, listData, updateData} from "@/api/cwgl/data"; import useCurrentInstance from "@/utils/useCurrentInstance"; import {computed,reactive, ref, toRefs} from "vue"; import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface"; import {usePagePlus} from "@/hooks/usePagePlus"; import {hasPermission} from "@/utils/permissionUtils"; const { proxy } = useCurrentInstance(); const crudRef = ref(); const permissionList = computed(()=>{ return { addBtn: hasPermission(["cwgl:data:add"]), delBtn: hasPermission(["cwgl:data:remove"]), editBtn: hasPermission(["cwgl:data:edit"]), viewBtn: hasPermission(["cwgl:data:query"]), } }) const data = reactive({ form:<DataI>{}, queryParams:<DataI&PageQueryInterface>{}, page: <PagesInterface>{ pageSize: 10, total: 0, currentPage: 1, }, selectionList:[], }) const {queryParams,form,page,selectionList} = toRefs(data); const option = ref({ pageKey: 'Data', rowKey: 'id', column: { id: { label: '主键ID', }, vin: { label: '车架号', rules: [ { required: true, message: "车架号不能为空", trigger: "blur" } ], }, chassisType: { label: '底盘类型', }, eventDate: { label: '数据日期', rules: [ { required: true, message: "数据日期不能为空", trigger: "blur" } ], }, distance: { label: '行驶里程', }, duration: { label: '用车时长', }, shutdownDuration: { label: '熄火停车时长', }, drivingDuration: { label: '行驶时长', }, drivingDurationRatio: { label: '行驶时长占比', }, idleDurationRatio: { label: '怠速时长占比', }, idleDuration: { label: '怠速时长', }, coastingDistanceRatio: { label: '滑行距离占比', }, coastingDistance: { label: '滑行距离', }, cruisingDistanceRatio: { label: '巡航距离占比', }, cruisingDistance: { label: '巡航距离', }, avgSpeed: { label: '平均速度', }, avgDrivingSpeed: { label: '平均行车速度', }, avgEngineSpeed: { label: '发动机平均转速', }, economicEngineSpeedDurationRatio: { label: '经济转速时长占比', }, economicEngineSpeedDuration: { label: '经济转速时长', }, avgEnergyConsumption: { label: '百公里能耗', }, energyConsumption: { label: '耗油量', }, drivingEnergyConsumption: { label: '行驶耗油量', }, drivingEnergyConsumptionRatio: { label: '行驶耗油量占比', }, idleEnergyConsumptionRatio: { label: '怠速耗油量占比', }, idleEnergyConsumption: { label: '怠速耗油量', }, avgAdblueConsumption: { label: '百公里尿素消耗', }, adblueConsumption: { label: '尿素消耗', }, avgGrossWeight: { label: '平均整车质量', }, brakeTimes: { label: '刹车次数', }, harshBrakeTimes: { label: '急刹车次数', }, accelerationTimes: { label: '急加速次数', }, avgBrakeTimes: { label: '百公里刹车次数', }, avgHarshBrakeTimes: { label: '百公里急刹车次数', }, avgAccelerationTimes: { label: '百公里急加速次数', }, odometer: { label: '里程表里程', }, createTime: { label: '创建时间', }, updateTime: { label: '更新时间', }, } }) const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange, searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({ form:form, option:option, queryParams:queryParams, idKey:'id', page:page.value, getListApi:listData, getDetailApi:getData, exportApi:exportData, deleteApi:delData, addApi:addData, updateApi:updateData, handleUpdateFunc:()=>{ crudRef.value.rowEdit(selectionList.value[0]); }, handleSelectionChangeFunc:(selection:any)=>{ selectionList.value = selection; } }) </script>