hdy
2025-02-12 76a2cda5327be91041903b491ee729707e2004c1
过站采集页面新增
已添加8个文件
799 ■■■■■ 文件已修改
billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/mapper/DaStationCollectionMapper.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/service/IDaStationCollectionService.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/resources/mapper/da/DaStationCollectionMapper.xml 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-ui/src/api/main/da/stationCollection.js 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-ui/src/views/main/da/stationCollection/index.vue 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,98 @@
package com.billion.main.da.controller;
import com.billion.common.annotation.Log;
import com.billion.common.core.controller.BaseController;
import com.billion.common.core.domain.AjaxResult;
import com.billion.common.core.page.TableDataInfo;
import com.billion.common.enums.BusinessType;
import com.billion.common.utils.poi.ExcelUtil;
import com.billion.main.da.domain.DaStationCollection;
import com.billion.main.da.service.IDaStationCollectionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * è¿‡ç«™é‡‡é›†Controller
 *
 * @author HDY
 * @date 2025-02-12
 */
@RestController
@RequestMapping("/da/stationCollection")
public class DaStationCollectionController extends BaseController
{
    @Autowired
    private IDaStationCollectionService daStationCollectionService;
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('da:stationCollection:list')")
    @GetMapping("/list")
    public TableDataInfo list(DaStationCollection daStationCollection)
    {
        startPage();
        List<DaStationCollection> list = daStationCollectionService.selectDaStationCollectionList(daStationCollection);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºè¿‡ç«™é‡‡é›†åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('da:stationCollection:export')")
    @Log(title = "过站采集", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, DaStationCollection daStationCollection)
    {
        List<DaStationCollection> list = daStationCollectionService.selectDaStationCollectionList(daStationCollection);
        ExcelUtil<DaStationCollection> util = new ExcelUtil<DaStationCollection>(DaStationCollection.class);
        util.exportExcel(response, list, "过站采集数据");
    }
    /**
     * èŽ·å–过站采集详细信息
     */
    @PreAuthorize("@ss.hasPermi('da:stationCollection:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(daStationCollectionService.selectDaStationCollectionById(id));
    }
    /**
     * æ–°å¢žè¿‡ç«™é‡‡é›†
     */
    @PreAuthorize("@ss.hasPermi('da:stationCollection:add')")
    @Log(title = "过站采集", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody DaStationCollection daStationCollection)
    {
        return toAjax(daStationCollectionService.insertDaStationCollection(daStationCollection));
    }
    /**
     * ä¿®æ”¹è¿‡ç«™é‡‡é›†
     */
    @PreAuthorize("@ss.hasPermi('da:stationCollection:edit')")
    @Log(title = "过站采集", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody DaStationCollection daStationCollection)
    {
        return toAjax(daStationCollectionService.updateDaStationCollection(daStationCollection));
    }
    /**
     * åˆ é™¤è¿‡ç«™é‡‡é›†
     */
    @PreAuthorize("@ss.hasPermi('da:stationCollection:remove')")
    @Log(title = "过站采集", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(daStationCollectionService.deleteDaStationCollectionByIds(ids));
    }
}
billion-main/src/main/java/com/billion/main/da/domain/DaStationCollection.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,52 @@
package com.billion.main.da.domain;
import com.billion.common.annotation.Excel;
import com.billion.main.common.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
 * è¿‡ç«™é‡‡é›†å¯¹è±¡ da_station_collection
 *
 * @author HDY
 * @date 2025-02-12
 */
@Data
public class DaStationCollection extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ä¸»é”®id */
    private Long id;
    /** æ€»æˆåºåˆ—号 */
    @Excel(name = "总成序列号")
    private String sfcCode;
    /** å·¥ä½ç¼–码 */
    @Excel(name = "工位编码")
    private String locationCode;
    /** è¿›ç«™æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "进站时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date inboundTime;
    /** å‡ºç«™æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出站时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date outboundTime;
    /** çŠ¶æ€ï¼ˆ1合格0不合格) */
    @Excel(name = "状态", readConverterExp = "1=合格0不合格")
    private String status;
    /** é‡‡é›†æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date collectTime;
}
billion-main/src/main/java/com/billion/main/da/mapper/DaStationCollectionMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.billion.main.da.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.billion.main.da.domain.DaStationCollection;
import java.util.List;
/**
 * è¿‡ç«™é‡‡é›†Mapper接口
 *
 * @author HDY
 * @date 2025-02-12
 */
public interface DaStationCollectionMapper extends BaseMapper<DaStationCollection>
{
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†
     *
     * @param id è¿‡ç«™é‡‡é›†ä¸»é”®
     * @return è¿‡ç«™é‡‡é›†
     */
    public DaStationCollection selectDaStationCollectionById(Long id);
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†åˆ—表
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return è¿‡ç«™é‡‡é›†é›†åˆ
     */
    public List<DaStationCollection> selectDaStationCollectionList(DaStationCollection daStationCollection);
    /**
     * æ–°å¢žè¿‡ç«™é‡‡é›†
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return ç»“æžœ
     */
    public int insertDaStationCollection(DaStationCollection daStationCollection);
    /**
     * ä¿®æ”¹è¿‡ç«™é‡‡é›†
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return ç»“æžœ
     */
    public int updateDaStationCollection(DaStationCollection daStationCollection);
    /**
     * åˆ é™¤è¿‡ç«™é‡‡é›†
     *
     * @param id è¿‡ç«™é‡‡é›†ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteDaStationCollectionById(Long id);
    /**
     * æ‰¹é‡åˆ é™¤è¿‡ç«™é‡‡é›†
     *
     * @param ids éœ€è¦åˆ é™¤çš„数据主键集合
     * @return ç»“æžœ
     */
    public int deleteDaStationCollectionByIds(Long[] ids);
}
billion-main/src/main/java/com/billion/main/da/service/IDaStationCollectionService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.billion.main.da.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.billion.main.da.domain.DaStationCollection;
import java.util.List;
/**
 * è¿‡ç«™é‡‡é›†Service接口
 *
 * @author HDY
 * @date 2025-02-12
 */
public interface IDaStationCollectionService extends IService<DaStationCollection>
{
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†
     *
     * @param id è¿‡ç«™é‡‡é›†ä¸»é”®
     * @return è¿‡ç«™é‡‡é›†
     */
    public DaStationCollection selectDaStationCollectionById(Long id);
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†åˆ—表
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return è¿‡ç«™é‡‡é›†é›†åˆ
     */
    public List<DaStationCollection> selectDaStationCollectionList(DaStationCollection daStationCollection);
    /**
     * æ–°å¢žè¿‡ç«™é‡‡é›†
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return ç»“æžœ
     */
    public int insertDaStationCollection(DaStationCollection daStationCollection);
    /**
     * ä¿®æ”¹è¿‡ç«™é‡‡é›†
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return ç»“æžœ
     */
    public int updateDaStationCollection(DaStationCollection daStationCollection);
    /**
     * æ‰¹é‡åˆ é™¤è¿‡ç«™é‡‡é›†
     *
     * @param ids éœ€è¦åˆ é™¤çš„过站采集主键集合
     * @return ç»“æžœ
     */
    public int deleteDaStationCollectionByIds(Long[] ids);
    /**
     * åˆ é™¤è¿‡ç«™é‡‡é›†ä¿¡æ¯
     *
     * @param id è¿‡ç«™é‡‡é›†ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteDaStationCollectionById(Long id);
}
billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package com.billion.main.da.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.billion.main.da.domain.DaStationCollection;
import com.billion.main.da.mapper.DaStationCollectionMapper;
import com.billion.main.da.service.IDaStationCollectionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * è¿‡ç«™é‡‡é›†Service业务层处理
 *
 * @author HDY
 * @date 2025-02-12
 */
@Service
public class DaStationCollectionServiceImpl extends ServiceImpl<DaStationCollectionMapper, DaStationCollection> implements IDaStationCollectionService
{
    @Autowired
    private DaStationCollectionMapper daStationCollectionMapper;
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†
     *
     * @param id è¿‡ç«™é‡‡é›†ä¸»é”®
     * @return è¿‡ç«™é‡‡é›†
     */
    @Override
    public DaStationCollection selectDaStationCollectionById(Long id)
    {
        return daStationCollectionMapper.selectDaStationCollectionById(id);
    }
    /**
     * æŸ¥è¯¢è¿‡ç«™é‡‡é›†åˆ—表
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return è¿‡ç«™é‡‡é›†
     */
    @Override
    public List<DaStationCollection> selectDaStationCollectionList(DaStationCollection daStationCollection)
    {
        return daStationCollectionMapper.selectDaStationCollectionList(daStationCollection);
    }
    /**
     * æ–°å¢žè¿‡ç«™é‡‡é›†
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return ç»“æžœ
     */
    @Override
    public int insertDaStationCollection(DaStationCollection daStationCollection)
    {
        return daStationCollectionMapper.insertDaStationCollection(daStationCollection);
    }
    /**
     * ä¿®æ”¹è¿‡ç«™é‡‡é›†
     *
     * @param daStationCollection è¿‡ç«™é‡‡é›†
     * @return ç»“æžœ
     */
    @Override
    public int updateDaStationCollection(DaStationCollection daStationCollection)
    {
        return daStationCollectionMapper.updateDaStationCollection(daStationCollection);
    }
    /**
     * æ‰¹é‡åˆ é™¤è¿‡ç«™é‡‡é›†
     *
     * @param ids éœ€è¦åˆ é™¤çš„过站采集主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteDaStationCollectionByIds(Long[] ids)
    {
        return daStationCollectionMapper.deleteDaStationCollectionByIds(ids);
    }
    /**
     * åˆ é™¤è¿‡ç«™é‡‡é›†ä¿¡æ¯
     *
     * @param id è¿‡ç«™é‡‡é›†ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteDaStationCollectionById(Long id)
    {
        return daStationCollectionMapper.deleteDaStationCollectionById(id);
    }
}
billion-main/src/main/resources/mapper/da/DaStationCollectionMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,81 @@
<?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.billion.main.da.mapper.DaStationCollectionMapper">
    <resultMap type="DaStationCollection" id="DaStationCollectionResult">
        <result property="id"    column="id"    />
        <result property="sfcCode"    column="sfc_code"    />
        <result property="locationCode"    column="location_code"    />
        <result property="inboundTime"    column="inbound_time"    />
        <result property="outboundTime"    column="outbound_time"    />
        <result property="status"    column="status"    />
        <result property="collectTime"    column="collect_time"    />
    </resultMap>
    <sql id="selectDaStationCollectionVo">
        select id, sfc_code, location_code, inbound_time, outbound_time, status, collect_time from da_station_collection
    </sql>
    <select id="selectDaStationCollectionList" parameterType="DaStationCollection" resultMap="DaStationCollectionResult">
        <include refid="selectDaStationCollectionVo"/>
        <where>
            <if test="sfcCode != null  and sfcCode != ''"> and sfc_code = #{sfcCode}</if>
            <if test="locationCode != null  and locationCode != ''"> and location_code = #{locationCode}</if>
            <if test="inboundTime != null "> and inbound_time = #{inboundTime}</if>
            <if test="outboundTime != null "> and outbound_time = #{outboundTime}</if>
            <if test="status != null  and status != ''"> and status = #{status}</if>
            <if test="collectTime != null "> and collect_time = #{collectTime}</if>
        </where>
    </select>
    <select id="selectDaStationCollectionById" parameterType="Long" resultMap="DaStationCollectionResult">
        <include refid="selectDaStationCollectionVo"/>
        where id = #{id}
    </select>
    <insert id="insertDaStationCollection" parameterType="DaStationCollection" useGeneratedKeys="true" keyProperty="id">
        insert into da_station_collection
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="sfcCode != null">sfc_code,</if>
            <if test="locationCode != null">location_code,</if>
            <if test="inboundTime != null">inbound_time,</if>
            <if test="outboundTime != null">outbound_time,</if>
            <if test="status != null">status,</if>
            <if test="collectTime != null">collect_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="sfcCode != null">#{sfcCode},</if>
            <if test="locationCode != null">#{locationCode},</if>
            <if test="inboundTime != null">#{inboundTime},</if>
            <if test="outboundTime != null">#{outboundTime},</if>
            <if test="status != null">#{status},</if>
            <if test="collectTime != null">#{collectTime},</if>
         </trim>
    </insert>
    <update id="updateDaStationCollection" parameterType="DaStationCollection">
        update da_station_collection
        <trim prefix="SET" suffixOverrides=",">
            <if test="sfcCode != null">sfc_code = #{sfcCode},</if>
            <if test="locationCode != null">location_code = #{locationCode},</if>
            <if test="inboundTime != null">inbound_time = #{inboundTime},</if>
            <if test="outboundTime != null">outbound_time = #{outboundTime},</if>
            <if test="status != null">status = #{status},</if>
            <if test="collectTime != null">collect_time = #{collectTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteDaStationCollectionById" parameterType="Long">
        delete from da_station_collection where id = #{id}
    </delete>
    <delete id="deleteDaStationCollectionByIds" parameterType="String">
        delete from da_station_collection where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
billion-ui/src/api/main/da/stationCollection.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// æŸ¥è¯¢è¿‡ç«™é‡‡é›†åˆ—表
export function listStationCollection(query) {
  return request({
    url: '/da/stationCollection/list',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢è¿‡ç«™é‡‡é›†è¯¦ç»†
export function getStationCollection(id) {
  return request({
    url: '/da/stationCollection/' + id,
    method: 'get'
  })
}
// æ–°å¢žè¿‡ç«™é‡‡é›†
export function addStationCollection(data) {
  return request({
    url: '/da/stationCollection',
    method: 'post',
    data: data
  })
}
// ä¿®æ”¹è¿‡ç«™é‡‡é›†
export function updateStationCollection(data) {
  return request({
    url: '/da/stationCollection',
    method: 'put',
    data: data
  })
}
// åˆ é™¤è¿‡ç«™é‡‡é›†
export function delStationCollection(id) {
  return request({
    url: '/da/stationCollection/' + id,
    method: 'delete'
  })
}
billion-ui/src/views/main/da/stationCollection/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,303 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="总成序列号" prop="sfcCode">
        <el-input
          v-model="queryParams.sfcCode"
          placeholder="请输入总成序列号"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="工位编码" prop="locationCode">
        <el-input
          v-model="queryParams.locationCode"
          placeholder="请输入工位编码"
          clearable
          @keyup.enter.native="handleQuery"
        />
      </el-form-item>
      <el-form-item label="进站时间" prop="inboundTime">
        <el-date-picker clearable
          v-model="queryParams.inboundTime"
          type="date"
          value-format="yyyy-MM-dd"
          placeholder="请选择进站时间">
        </el-date-picker>
      </el-form-item>
      <el-form-item label="出站时间" prop="outboundTime">
        <el-date-picker clearable
          v-model="queryParams.outboundTime"
          type="date"
          value-format="yyyy-MM-dd"
          placeholder="请选择出站时间">
        </el-date-picker>
      </el-form-item>
      <el-form-item label="采集时间" prop="collectTime">
        <el-date-picker clearable
          v-model="queryParams.collectTime"
          type="date"
          value-format="yyyy-MM-dd"
          placeholder="请选择采集时间">
        </el-date-picker>
      </el-form-item>
      <el-form-item style="float: right">
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
          plain
          icon="el-icon-plus"
          size="mini"
          @click="handleAdd"
          v-hasPermi="['main:daStationCollection:add']"
        >新增</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="el-icon-edit"
          size="mini"
          :disabled="single"
          @click="handleUpdate"
          v-hasPermi="['main:daStationCollection:edit']"
        >修改</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="danger"
          plain
          icon="el-icon-delete"
          size="mini"
          :disabled="multiple"
          @click="handleDelete"
          v-hasPermi="['main:daStationCollection:remove']"
        >删除</el-button>
      </el-col>
      <el-col :span="1.5">
        <el-button
          type="warning"
          plain
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['main:daStationCollection:export']"
        >导出</el-button>
      </el-col>
    </el-row>
    <el-table border v-loading="loading" :data="daStationCollectionList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="主键id" align="center" prop="id" />
      <el-table-column :show-overflow-tooltip="true" label="总成序列号" align="center" prop="sfcCode" />
      <el-table-column :show-overflow-tooltip="true" label="工位编码" align="center" prop="locationCode" />
      <el-table-column label="进站时间" align="center" prop="inboundTime" width="180">
      </el-table-column>
      <el-table-column label="出站时间" align="center" prop="outboundTime" width="180">
      </el-table-column>
      <el-table-column :show-overflow-tooltip="true" label="状态" align="center" prop="status" />
      <el-table-column label="采集时间" align="center" prop="collectTime" width="180">
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- æ·»åŠ æˆ–修改过站采集对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="总成序列号" prop="sfcCode">
          <el-input v-model="form.sfcCode" placeholder="请输入总成序列号" />
        </el-form-item>
        <el-form-item label="工位编码" prop="locationCode">
          <el-input v-model="form.locationCode" placeholder="请输入工位编码" />
        </el-form-item>
        <el-form-item label="进站时间" prop="inboundTime">
          <el-date-picker clearable
            v-model="form.inboundTime"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择进站时间">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="出站时间" prop="outboundTime">
          <el-date-picker clearable
            v-model="form.outboundTime"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择出站时间">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="采集时间" prop="collectTime">
          <el-date-picker clearable
            v-model="form.collectTime"
            type="date"
            value-format="yyyy-MM-dd"
            placeholder="请选择采集时间">
          </el-date-picker>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
        <el-button @click="cancel">取 æ¶ˆ</el-button>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { listStationCollection, getStationCollection, delStationCollection, addStationCollection, updateStationCollection } from "@/api/main/da/stationCollection";
export default {
  name: "DaStationCollection",
  data() {
    return {
      // é®ç½©å±‚
      loading: true,
      // é€‰ä¸­æ•°ç»„
      ids: [],
      // éžå•ä¸ªç¦ç”¨
      single: true,
      // éžå¤šä¸ªç¦ç”¨
      multiple: true,
      // æ˜¾ç¤ºæœç´¢æ¡ä»¶
      showSearch: true,
      // æ€»æ¡æ•°
      total: 0,
      // è¿‡ç«™é‡‡é›†è¡¨æ ¼æ•°æ®
      daStationCollectionList: [],
      // å¼¹å‡ºå±‚标题
      title: "",
      // æ˜¯å¦æ˜¾ç¤ºå¼¹å‡ºå±‚
      open: false,
      // æŸ¥è¯¢å‚æ•°
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        sfcCode: null,
        locationCode: null,
        inboundTime: null,
        outboundTime: null,
        status: null,
        collectTime: null
      },
      // è¡¨å•å‚æ•°
      form: {},
      // è¡¨å•æ ¡éªŒ
      rules: {
      }
    };
  },
  created() {
    this.getList();
  },
  methods: {
    /** æŸ¥è¯¢è¿‡ç«™é‡‡é›†åˆ—表 */
    getList() {
      this.loading = true;
      listStationCollection(this.queryParams).then(response => {
        this.daStationCollectionList = response.rows;
        this.total = response.total;
        this.loading = false;
      });
    },
    // å–消按钮
    cancel() {
      this.open = false;
      this.reset();
    },
    // è¡¨å•é‡ç½®
    reset() {
      this.form = {
        id: null,
        sfcCode: null,
        locationCode: null,
        inboundTime: null,
        outboundTime: null,
        status: null,
        collectTime: null
      };
      this.resetForm("form");
    },
    /** æœç´¢æŒ‰é’®æ“ä½œ */
    handleQuery() {
      this.queryParams.pageNum = 1;
      this.getList();
    },
    /** é‡ç½®æŒ‰é’®æ“ä½œ */
    resetQuery() {
      this.resetForm("queryForm");
      this.handleQuery();
    },
    // å¤šé€‰æ¡†é€‰ä¸­æ•°æ®
    handleSelectionChange(selection) {
      this.ids = selection.map(item => item.id)
      this.single = selection.length!==1
      this.multiple = !selection.length
    },
    /** æ–°å¢žæŒ‰é’®æ“ä½œ */
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加过站采集";
    },
    /** ä¿®æ”¹æŒ‰é’®æ“ä½œ */
    handleUpdate(row) {
      this.reset();
      const id = row.id || this.ids
      getStationCollection(id).then(response => {
        this.form = response.data;
        this.open = true;
        this.title = "修改过站采集";
      });
    },
    /** æäº¤æŒ‰é’® */
    submitForm() {
      this.$refs["form"].validate(valid => {
        if (valid) {
          if (this.form.id != null) {
            updateStationCollection(this.form).then(response => {
              this.$modal.msgSuccess("修改成功");
              this.open = false;
              this.getList();
            });
          } else {
            addStationCollection(this.form).then(response => {
              this.$modal.msgSuccess("新增成功");
              this.open = false;
              this.getList();
            });
          }
        }
      });
    },
    /** åˆ é™¤æŒ‰é’®æ“ä½œ */
    handleDelete(row) {
      const ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除').then(function() {
        return delStationCollection(ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** å¯¼å‡ºæŒ‰é’®æ“ä½œ */
    handleExport() {
      this.download('main/daStationCollection/export', {
        ...this.queryParams
      }, `daStationCollection_${new Date().getTime()}.xlsx`)
    }
  }
};
</script>