wzp
2025-05-03 4676c4f9c32298ce07af841a899394e6374a9964
feat: 新增详情页
6个文件已添加
12个文件已修改
863 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/OrderCancelVo.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/DispatchOrd.java 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientApp.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/TbOrders.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/IDispatchOrdService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DispatchOrdServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ServiceOrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/DispatchOrdMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysClientAppMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TbOrdersMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/system/orders.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/order/detail.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/orders/index.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
@@ -3,12 +3,20 @@
import java.util.List;
import java.util.Objects;
import java.text.SimpleDateFormat;
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;
import java.math.BigDecimal;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.system.domain.DispatchOrd;
import com.ruoyi.system.domain.TbOrders;
import com.ruoyi.system.service.IDispatchOrdService;
import com.ruoyi.system.service.ITbOrdersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
@@ -39,10 +47,16 @@
 */
@RestController
@RequestMapping("/system/order")
@DataSource(DataSourceType.SQLSERVER)
//@DataSource(DataSourceType.SQLSERVER)
public class ServiceOrderController extends BaseController {
    @Autowired
    private IServiceOrderService serviceOrderService;
    @Autowired
    private ITbOrdersService tbOrdersService;
    @Autowired
    private IDispatchOrdService dispatchOrdService;
    /**
     * 获取服务订单列表
@@ -75,12 +89,163 @@
    /**
     * 根据服务订单编号获取详细信息
     */
    @PreAuthorize("@ss.hasPermi('system:order:query')")
    @Anonymous
    @GetMapping(value = "/{serviceOrdId}")
    public AjaxResult getInfo(@PathVariable Long serviceOrdId) {
        return success(serviceOrderService.selectServiceOrderById(serviceOrdId));
        TbOrders orderDetail = tbOrdersService.selectTbOrdersByOrderID(serviceOrdId);
        //查询服务单
        ServiceOrder mingServiceOrder = serviceOrderService.selectServiceOrderById(Long.valueOf(orderDetail.getServiceOrdID()));
        DispatchOrd dispatchOrd = dispatchOrdService.selectDispatchOrdByServiceOrdIDDt(mingServiceOrder.getServiceOrdId().toString());
        Map<String, Object> data = new HashMap<>();
        // 构建订单基本信息
        Map<String, Object> orderInfo = new HashMap<>();
        orderInfo.put("OrderID", orderDetail.getOrderID());
        // 格式化时间
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 格式化创建时间
        String formattedCreateTime = orderDetail.getCreateTime() != null ?
            dateFormat.format(orderDetail.getCreateTime()) : "";
        orderInfo.put("orderTime", formattedCreateTime);
        // 格式化预约时间
        String formattedBookingTime = orderDetail.getBookingDate() != null ?
            dateFormat.format(orderDetail.getBookingDate()) : "";
        orderInfo.put("appointmentTime", formattedBookingTime);
        if(dispatchOrd!=null) {
            //要查询调度单
            // 格式化调度时间
            String formattedDispatchTime = dispatchOrd.getDispatchOrdStartDate() != null ?
                    dateFormat.format(dispatchOrd.getDispatchOrdStartDate()) : "";
            orderInfo.put("dispatchTime", formattedDispatchTime);
        }
        // 订单状态转换逻辑
        String orderStatus;
        if (mingServiceOrder.getServiceOrdState() == 4) {
            orderStatus = "已取消";
        } else if (mingServiceOrder.getServiceOrdState() == 3) {
            orderStatus = "已调度";
        } else if (mingServiceOrder.getServiceOrdTraTxnPrice().compareTo(BigDecimal.ZERO) > 0
                && mingServiceOrder.getServiceOrdState() <= 1) {
            orderStatus = "咨询单";
        } else if (mingServiceOrder.getServiceOrdTraTxnPrice().compareTo(BigDecimal.ZERO) > 0
                && mingServiceOrder.getServiceOrdState() != 4) {
            orderStatus = "已报价";
        } else {
            orderStatus = "咨询单";
        }
        orderInfo.put("orderStatus", orderStatus);
        orderInfo.put("orderSource","广交集团");
        orderInfo.put("externalNo",orderDetail.getServiceOrdNo());
        if(orderStatus.contains("调度")){
            orderInfo.put("documentStatus", "调度单");
        }
        else{
            orderInfo.put("documentStatus", "咨询单");
        }
        orderInfo.put("price",mingServiceOrder.getServiceOrdTraTxnPrice());//价格
        // 构建患者信息
        Map<String, Object> patientInfo = new HashMap<>();
        patientInfo.put("contactName", orderDetail.getLinkPerson());
        patientInfo.put("contactPhone", orderDetail.getLinkTel());
        patientInfo.put("patientName", orderDetail.getPatientName());
        patientInfo.put("patientAge", orderDetail.getAge());
        // 性别转换:1是男,其他是女
        patientInfo.put("patientGender", "1".equals(orderDetail.getSex()) ? "男" : "女");
        patientInfo.put("patientWeight", orderDetail.getKg());
        // 构建服务信息
        Map<String, Object> serviceInfo = new HashMap<>();
        serviceInfo.put("startAddress", orderDetail.getLocalAddress());
        serviceInfo.put("startLocation", orderDetail.getLocalLongitude() + "," + orderDetail.getLocalLatitude());
        serviceInfo.put("endAddress", orderDetail.getSendAddress());
        serviceInfo.put("endLocation", orderDetail.getSendLongitude() + "," + orderDetail.getSendLatitude());
        serviceInfo.put("distance", orderDetail.getBookingKM());
        serviceInfo.put("liftService", orderDetail.getLiftingCode());
        serviceInfo.put("liftFloor", orderDetail.getLiftingFloor());
        //构建调度信息
        Map<String, Object> dispatchInfo = new HashMap<>();
        if(dispatchOrd!=null){
            String dispatchOAEntourage = dispatchOrd.getDispatchOrd_OAEntourage();
            String dispatchOAName = dispatchOrd.getDispatchOrd_OAName();
            if (dispatchOAEntourage != null && dispatchOAName != null) {
                String[] entourages = dispatchOAEntourage.split(",");
                String[] names = dispatchOAName.split(",");
                // 用于存储不同角色的人员
                Map<String, StringBuilder> roleMap = new HashMap<>();
                roleMap.put("driver", new StringBuilder());
                roleMap.put("doctor", new StringBuilder());
                roleMap.put("nurse", new StringBuilder());
                // 遍历找出对应角色的人员
                for (int i = 0; i < Math.min(entourages.length, names.length); i++) {
                    String role = entourages[i].trim();
                    String name = names[i].trim();
                    switch(role) {
                        case "司机":
                            appendName(roleMap.get("driver"), name);
                            break;
                        case "医生":
                            appendName(roleMap.get("doctor"), name);
                            break;
                        case "护士":
                            appendName(roleMap.get("nurse"), name);
                            break;
                    }
                }
                // 将收集到的人员信息放入dispatchInfo
                dispatchInfo.put("driver", roleMap.get("driver").toString());
                dispatchInfo.put("doctor", roleMap.get("doctor").toString());
                dispatchInfo.put("nurse", roleMap.get("nurse").toString());
                //调度时间
                String formattedDispatchTime = dispatchOrd.getDispatchOrdStartDate() != null ?
                    dateFormat.format(dispatchOrd.getDispatchOrdStartDate()) : "";
                dispatchInfo.put("dispatchTime", formattedDispatchTime);
                dispatchInfo.put("dispatchStatus","已调度");
            }
        }
        data.put("orderInfo", orderInfo);
        data.put("patientInfo", patientInfo);
        data.put("serviceInfo", serviceInfo);
        data.put("medicalInfo", new HashMap<>()); // 暂时为空
        data.put("dispatchInfo", dispatchInfo);  // 更新为包含人员信息的dispatchInfo
        data.put("paymentInfo", new ArrayList<>()); // 暂时为空
        data.put("operationInfo", new ArrayList<>()); // 暂时为空
        return AjaxResult.success(data);
    }
    // 添加辅助方法来处理名字的拼接
    private void appendName(StringBuilder sb, String name) {
        if (sb.length() > 0) {
            sb.append(",");
        }
        sb.append(name);
    }
    /*
    新增订单
@@ -111,4 +276,8 @@
    public AjaxResult remove(@PathVariable Long[] serviceOrdIds) {
        return toAjax(serviceOrderService.deleteServiceOrderByIds(serviceOrdIds));
    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
@@ -9,7 +9,10 @@
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.domain.entity.ServiceOrderAppResultVo;
import com.ruoyi.common.core.domain.entity.ServiceOrderAppVo;
import com.ruoyi.common.core.domain.entity.ServiceOrderDelVo;
import com.ruoyi.common.utils.civilAviation.ServiceOrderUtil;
import com.ruoyi.system.domain.SysClientApp;
import com.ruoyi.system.service.ISysClientAppService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@@ -29,6 +32,7 @@
import com.ruoyi.system.service.ITbOrdersService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.entity.OrderCancelVo;
/**
 * ordersController
@@ -42,6 +46,9 @@
{
    @Autowired
    private ITbOrdersService tbOrdersService;
    @Autowired
    private ISysClientAppService clientAppService;
    /**
     * 查询orders列表
@@ -95,15 +102,14 @@
            tbOrders.setCreateTime(new Date());
            int insertNum = tbOrdersService.insertTbOrders(tbOrders);
            if(insertNum<1)
            {
                return AjaxResult.error("上传失败!");
            }
            tbOrdersService.insertTbOrders(tbOrders);
            SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L);
            ServiceOrderAppVo model = new ServiceOrderAppVo();
            model.setMethod("ServiceOrder_APP"); // 设置接口名称
            model.setAppId("GDS-000001"); // 设置商户 APPID
            model.setAppId(scApp.getMinAppId()); // 设置商户 APPID
            model.setOrdType(tbOrders.getTypeCode().intValue());
            model.setCoPhone(tbOrders.getLinkTel()); // 客户联系电话
            model.setCoName(tbOrders.getLinkPerson()); // 客户姓名
@@ -132,15 +138,120 @@
            ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model);
            if (result.getResult() == 1) {
                tbOrders.setOrderID(tbOrders.getOrderID());
                tbOrders.setServiceOrdID(result.getServiceOrdID());
                tbOrders.setServiceOrdNo(result.getServiceOrdNo());
                tbOrders.setThirdPartyResult(result.getResult());
                tbOrders.setUpdateTime(new Date());
                tbOrders.setOrderStatus(1);
                tbOrdersService.updateTbOrders(tbOrders);
                return AjaxResult.success(result);
            } else {
                return AjaxResult.error("提交失败");
            }
        } catch (Exception e) {
            return AjaxResult.error("提交失败:"+e.getMessage());
        }
    }
    /**
     * 重新发送订单
     */
    @PostMapping("/resend/{orderId}")
    public AjaxResult resendOrder(@PathVariable Long orderId) {
        TbOrders tbOrders = tbOrdersService.selectTbOrdersByOrderID(orderId);
        if (tbOrders == null) {
            return AjaxResult.error("订单不存在");
        }
        if (tbOrders.getOrderStatus() == 2) {
            return AjaxResult.error("订单状态已取消");
        }
        SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L);
        ServiceOrderAppVo model = new ServiceOrderAppVo();
        model.setMethod("ServiceOrder_APP"); // 设置接口名称
        model.setAppId(scApp.getMinAppId()); // 设置商户 APPID
        model.setOrdType(tbOrders.getTypeCode().intValue());
        model.setCoPhone(tbOrders.getLinkTel()); // 客户联系电话
        model.setCoName(tbOrders.getLinkPerson()); // 客户姓名
//        model.setCoTies("家属"); // 随机设置客户联系人与患者关系
        // 设置预约时间为一天后
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd%20HH:mm");
        model.setApptDate(sdf.format(tbOrders.getBookingDate())); // 格式化预约运送时间
        model.setPtName(tbOrders.getPatientName()); // 患者姓名
        model.setPtAge(tbOrders.getAge()); // 随机生成患者年龄
        model.setPtSex(tbOrders.getSex() == 1 ? "男" : "女"); // 随机生成患者性别
//        model.setPtNat("中国"); // 设置患者国籍
        model.setOutHosp(tbOrders.getLocalAddress()); // 设置转出医院
        model.setInHosp(tbOrders.getSendAddress()); // 设置转入医院
//        model.setPtServices("科室" + (int) (Math.random() * 10)); // 随机设置患者所在科室
        model.setPtDiagnosis(tbOrders.getComplaint()); // 设置诊断信息
        model.setCondition(tbOrders.getRemark()); // 设置备注信息
//        model.setDoctor("医生" + (int) (Math.random() * 10)); // 随机设置患者医生
//        model.setDoctorPhone("13" + (int) (Math.random() * 900000000 + 100000000)); // 随机生成患者医生电话
        model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 随机生成报价
//        model.setReferrals("推介人" + (int) (Math.random() * 10)); // 随机设置推介人信息
//        model.setUnitRemarks("商户随机备注信息"); // 随机设置商户备注
//        model.setPayQRcodeURL("https://example.com/qrcode/" + (int) (Math.random() * 100)); // 随机生成外部支付二维码链接
        ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model);
        if (result.getResult() == 1) {
            tbOrders.setOrderID(tbOrders.getOrderID());
            tbOrders.setServiceOrdID(result.getServiceOrdID());
            tbOrders.setServiceOrdNo(result.getServiceOrdNo());
            tbOrders.setThirdPartyResult(result.getResult());
            tbOrders.setUpdateTime(new Date());
            tbOrders.setOrderStatus(1);
            tbOrdersService.updateTbOrders(tbOrders);
            return AjaxResult.success(result);
        } else {
            return AjaxResult.error("提交失败");
        }
    }
    @Anonymous
    @PostMapping("/cancelOrder")
    public AjaxResult cancelOrder(@RequestBody OrderCancelVo cancelVo)
    {
        try {
            if (cancelVo == null || cancelVo.getOrderID() == null ||
                cancelVo.getThirdOrderNo() == null || cancelVo.getReason() == null) {
                return AjaxResult.error("必要参数不能为空!");
            }
            SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L);
            ServiceOrderDelVo model = new ServiceOrderDelVo();
            model.setMethod("ServiceOrder_DEL"); // 设置接口名称
            model.setAPPID(scApp.getMinAppId()); // 设置商户 APPID
            model.setServiceOrdID(cancelVo.getThirdOrderNo()); // 设置第三方订单号
            model.setDELRemarks(cancelVo.getReason()); // 设置取消原因
            ServiceOrderAppResultVo result = ServiceOrderUtil.CancelServiceOrder(model);
            if (result.getResult() == 1) {
                // 更新本地订单状态
                TbOrders tbOrders = new TbOrders();
                tbOrders.setOrderID(cancelVo.getOrderID());
                tbOrders.setOrderStatus(2); // 2是取消
                tbOrdersService.updateTbOrders(tbOrders);
                return AjaxResult.success(result);
            } else {
                return AjaxResult.error("取消订单失败");
            }
        } catch (Exception e) {
            return AjaxResult.error("取消订单失败:" + e.getMessage());
        }
    }
    /**
     * 修改orders
     */
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/OrderCancelVo.java
New file
@@ -0,0 +1,43 @@
package com.ruoyi.common.core.domain.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
 * 订单取消参数VO
 */
public class OrderCancelVo {
    @JsonProperty("OrderID")
    private Long OrderID;
    @JsonProperty("ThirdOrderNo")
    private String ThirdOrderNo;
    @JsonProperty("Reason")
    private String Reason;
    public Long getOrderID() {
        return OrderID;
    }
    public void setOrderID(Long orderID) {
        OrderID = orderID;
    }
    public String getThirdOrderNo() {
        return ThirdOrderNo;
    }
    public void setThirdOrderNo(String thirdOrderNo) {
        ThirdOrderNo = thirdOrderNo;
    }
    public String getReason() {
        return Reason;
    }
    public void setReason(String reason) {
        Reason = reason;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/DispatchOrd.java
New file
@@ -0,0 +1,266 @@
package com.ruoyi.system.domain;
import com.ruoyi.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
import java.math.BigDecimal;
/**
 * 调度订单对象 DispatchOrd
 *
 * @author ruoyi
 */
@Data
public class DispatchOrd extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /** 调度订单ID */
    private String dispatchOrdID;
    /** 调度订单类别 */
    private String dispatchOrdClass;
    /** 服务订单ID */
    private String serviceOrdIDDt;
    /** 调度订单状态 */
    private String dispatchOrdState;
    /** 状态标识 */
    private Integer stateInt;
    /** 调度开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdStartDate;
    /** 调度运输时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdTraSDTime;
    /** 护士ID */
    private String dispatchOrd_NS_ID;
    /** 护士时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrd_NS_Time;
    /** 审批人ID */
    private String dispatchOrd_AP_ID;
    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrd_AP_Time;
    /** 二次审批人ID */
    private String dispatchOrd_AP2_ID;
    /** 二次审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrd_AP2_Time;
    /** 审批检查 */
    private String dispatchOrd_AP_Check;
    /** 审批原因 */
    private String dispatchOrd_AP_Reason;
    /** 实际日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdActualDate;
    /** 到达日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdArriveDate;
    /** 返回日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdReturnDate;
    /** 运输距离 */
    private BigDecimal dispatchOrdTraDistance;
    /** 车辆ID */
    private String dispatchOrdCarID;
    /** 运输起点 */
    private String dispatchOrdTraStreet;
    /** 运输终点 */
    private String dispatchOrdTraEnd;
    /** 运输途经点 */
    private String dispatchOrdTraVia;
    /** 公司名称 */
    private String dispatchOrdCoName;
    /** 公司电话 */
    private String dispatchOrdCoPhone;
    /** 起点里程 */
    private BigDecimal dispatchOrdTraStreetMileage;
    /** 终点里程 */
    private BigDecimal dispatchOrdTraEndMileage;
    /** 总里程 */
    private BigDecimal dispatchOrdMileage;
    /** 汽油量 */
    private BigDecimal dispatchOrdGasoline;
    /** 备注 */
    private String dispatchOrdRemarks;
    /** 结果 */
    private String dispatchOrdResult;
    /** 路桥费 */
    private BigDecimal dispatchOrdLuqiaoFee;
    /** 汽油费 */
    private BigDecimal dispatchOrdGasolineFee;
    /** 差旅费 */
    private BigDecimal dispatchOrdTravelFee;
    /** 其他费用 */
    private BigDecimal dispatchOrdOtherFee;
    /** 其他费用说明 */
    private String dispatchOrdOtherFee_TXT;
    /** 氧气 */
    private String dispatchOrdOxygen;
    /** 耗材 */
    private String dispatchOrdConsumables;
    /** 药品 */
    private String dispatchOrdDrugs;
    /** 是否结束 */
    private String dispatchOrdIsEnd;
    /** 结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdIsEndDate;
    /** 陪同人员1 */
    private String entourageName_aid1;
    /** 陪同人员2 */
    private String entourageName_aid2;
    /** 调度单号 */
    private String dispatchOrdNo;
    /** 调度绩效 */
    private String dispatchOrdPerfomance;
    /** 取消原因 */
    private String dispatchOrdCancelReason;
    /** 取消原因说明 */
    private String dispatchOrdCancelReasonTXT;
    /** 微信日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdWeixinDate;
    /** 推荐车辆 */
    private String recommendedCar;
    /** 车辆状态项 */
    private String carStItm;
    /** 车辆状态操作员ID */
    private String carStItm_OAId;
    /** 车辆状态时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date carStItm_Time;
    /** 安全带操作员ID */
    private String carSeatBelt_OAId;
    /** 担架费 */
    private BigDecimal stretcherMoney;
    /** 图片URL */
    private String dispatchOrdPicUrl;
    /** 程序时长 */
    private Integer timeLength_Program;
    /** ICU时长 */
    private Integer timeLength_ICU;
    /** 等待时长 */
    private Integer timeLength_Wait;
    /** 调度医生 */
    private String dispatchDoctor;
    /** 调度护士 */
    private String dispatchNurse;
    /** 调度司机 */
    private String dispatchDriver;
    /** 调度任务备注 */
    private String dispatchOrdTaskRemarks;
    /** 调度操作员名称 */
    private String dispatchOrd_OAName;
    /** 调度操作员陪同 */
    private String dispatchOrd_OAEntourage;
    /** 更新操作员ID */
    private String dispatchOrdUpdateOAid;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrdUpdateTime;
    /** 在线操作员名称 */
    private String dispatchOrdOnlineOAName;
    /** 调度员工组 */
    private String dispatchEmployeeGroup;
    /** 财务ID */
    private String dispatchOrd_FA_ID;
    /** 财务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchOrd_FA_Time;
    /** 财务检查 */
    private String dispatchOrd_FA_Check;
    /** 财务原因 */
    private String dispatchOrd_FA_Reason;
    /** 是否消毒 */
    private String isSterilize;
    /** 消毒时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date isSterilize_Time;
    /** 是否锁定 */
    private String isLocking;
    /** 锁定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date isLocking_Time;
    /** 消毒操作员ID */
    private String isSterilize_OAID;
}
ruoyi-system/src/main/java/com/ruoyi/system/domain/ServiceOrder.java
@@ -117,6 +117,14 @@
    @Excel(name = "备注")
    private String serviceOrdUnitRemarks;
    /** 调度时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "调度时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date serviceOrdCCTime;
    /** 分页参数 */
    private Integer pageNum;
    private Integer pageSize;
@@ -338,6 +346,14 @@
        this.pageSize = pageSize;
    }
    public Date getServiceOrdCCTime() {
        return serviceOrdCCTime;
    }
    public void setServiceOrdCCTime(Date serviceOrdCCTime) {
        this.serviceOrdCCTime = serviceOrdCCTime;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientApp.java
@@ -46,6 +46,13 @@
    /** 删除标志(0代表存在 2代表删除) */
    private String delFlag;
    /** min_app_id */
    @Excel(name = "min_app_id")
    private String minAppId;
    public Long getAppId() {
        return appId;
    }
@@ -110,6 +117,14 @@
        this.delFlag = delFlag;
    }
    public String getMinAppId() {
        return minAppId;
    }
    public void setMinAppId(String minAppId) {
        this.minAppId = minAppId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
ruoyi-system/src/main/java/com/ruoyi/system/domain/TbOrders.java
@@ -202,6 +202,11 @@
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date UpdateTime;
    /** 订单状态 */
    @Excel(name = "订单状态")
    @JsonProperty("OrderStatus")
    private Integer OrderStatus;
    public void setOrderID(Long OrderID) 
    {
        this.OrderID = OrderID;
@@ -378,6 +383,10 @@
    public void setUpdateTime(Date UpdateTime){this.UpdateTime =UpdateTime;}
    public void setOrderStatus(Integer OrderStatus){this.OrderStatus =OrderStatus;}
    public Integer getOrderStatus(){return this.OrderStatus;}
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
ruoyi-system/src/main/java/com/ruoyi/system/mapper/DispatchOrdMapper.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.DispatchOrd;
/**
 * 调度订单Mapper接口
 *
 * @author ruoyi
 */
public interface DispatchOrdMapper {
    /**
     * 根据服务订单ID查询调度订单
     *
     * @param serviceOrdIDDt 服务订单ID
     * @return 调度订单信息
     */
    public DispatchOrd selectDispatchOrdByServiceOrdIDDt(String serviceOrdIDDt);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/IDispatchOrdService.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.service;
import com.ruoyi.system.domain.DispatchOrd;
/**
 * 调度订单Service接口
 *
 * @author ruoyi
 */
public interface IDispatchOrdService {
    /**
     * 根据服务订单ID查询调度订单
     *
     * @param serviceOrdIDDt 服务订单ID
     * @return 调度订单信息
     */
    public DispatchOrd selectDispatchOrdByServiceOrdIDDt(String serviceOrdIDDt);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DispatchOrdServiceImpl.java
New file
@@ -0,0 +1,32 @@
package com.ruoyi.system.service.impl;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.DispatchOrdMapper;
import com.ruoyi.system.domain.DispatchOrd;
import com.ruoyi.system.service.IDispatchOrdService;
/**
 * 调度订单Service业务层处理
 *
 * @author ruoyi
 */
@DataSource(DataSourceType.SQLSERVER)
@Service
public class DispatchOrdServiceImpl implements IDispatchOrdService {
    @Autowired
    private DispatchOrdMapper dispatchOrdMapper;
    /**
     * 根据服务订单ID查询调度订单
     *
     * @param serviceOrdIDDt 服务订单ID
     * @return 调度订单信息
     */
    @Override
    public DispatchOrd selectDispatchOrdByServiceOrdIDDt(String serviceOrdIDDt) {
        return dispatchOrdMapper.selectDispatchOrdByServiceOrdIDDt(serviceOrdIDDt);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ServiceOrderServiceImpl.java
@@ -1,6 +1,9 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.ServiceOrderMapper;
@@ -13,6 +16,8 @@
 * 
 * @author ruoyi
 */
@DataSource(DataSourceType.SQLSERVER)
@Service
public class ServiceOrderServiceImpl implements IServiceOrderService {
    @Autowired
ruoyi-system/src/main/resources/mapper/system/DispatchOrdMapper.xml
New file
@@ -0,0 +1,37 @@
<?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.system.mapper.DispatchOrdMapper">
    <resultMap type="DispatchOrd" id="DispatchOrdResult">
        <result property="dispatchOrdID" column="DispatchOrdID"/>
        <result property="dispatchOrdClass" column="DispatchOrdClass"/>
        <result property="serviceOrdIDDt" column="ServiceOrdIDDt"/>
        <result property="dispatchOrdState" column="DispatchOrdState"/>
        <result property="stateInt" column="StateInt"/>
        <result property="dispatchOrdStartDate" column="DispatchOrdStartDate"/>
        <result property="dispatchOrdTraSDTime" column="DispatchOrdTraSDTime"/>
        <result property="dispatchOrd_NS_ID" column="DispatchOrd_NS_ID"/>
        <result property="dispatchOrd_NS_Time" column="DispatchOrd_NS_Time"/>
        <result property="dispatchOrd_AP_ID" column="DispatchOrd_AP_ID"/>
        <result property="dispatchOrd_AP_Time" column="DispatchOrd_AP_Time"/>
        <result property="dispatchOrd_AP2_ID" column="DispatchOrd_AP2_ID"/>
        <result property="dispatchOrd_AP2_Time" column="DispatchOrd_AP2_Time"/>
        <result property="dispatchOrd_AP_Check" column="DispatchOrd_AP_Check"/>
        <result property="dispatchOrd_OAName" column="DispatchOrd_OAName"/>
        <result property="dispatchOrd_OAEntourage" column="DispatchOrd_OAEntourage"/>
        <!-- ... 其他字段映射 ... -->
    </resultMap>
    <sql id="selectDispatchOrdVo">
        select * from DispatchOrd
    </sql>
    <select id="selectDispatchOrdByServiceOrdIDDt" parameterType="String" resultMap="DispatchOrdResult">
        <include refid="selectDispatchOrdVo"/>
        where ServiceOrdIDDt = #{serviceOrdIDDt}
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/ServiceOrderMapper.xml
@@ -30,10 +30,11 @@
        <result property="serviceOrdTraPaidType"    column="ServiceOrdTraPaidType"    />
        <result property="serviceOrdTraPaidPrice"    column="ServiceOrdTraPaidPrice"    />
        <result property="serviceOrdUnitRemarks"    column="ServiceOrdUnitRemarks"    />
        <result property="serviceOrdCCTime"    column="ServiceOrd_CC_Time"    />
    </resultMap>
    <sql id="selectServiceOrderVo">
        select ServiceOrdID, ServiceOrdUserID, ServiceOrdClass, ServiceOrdType, ServiceOrdState, ServiceOrdStartDate, ServiceOrdApptDate, ServiceOrdCoName, ServiceOrdCoPhone, ServiceOrdPtName, ServiceOrdPtAge, ServiceOrdPtSex, ServiceOrdPtKG, ServiceOrdPtNat, ServiceOrdPtIDCard, ServiceOrdTraProvince, ServiceOrdTraCity, ServiceOrdTraStreet, ServiceOrdTraEnd, ServiceOrdTraDistance, ServiceOrdTraUnitPrice, ServiceOrdTraTxnPrice, ServiceOrdTraPaidType, ServiceOrdTraPaidPrice, ServiceOrdUnitRemarks from ServiceOrder
        select ServiceOrdID, ServiceOrdUserID, ServiceOrdClass, ServiceOrdType, ServiceOrdState, ServiceOrdStartDate, ServiceOrdApptDate, ServiceOrdCoName, ServiceOrdCoPhone, ServiceOrdPtName, ServiceOrdPtAge, ServiceOrdPtSex, ServiceOrdPtKG, ServiceOrdPtNat, ServiceOrdPtIDCard, ServiceOrdTraProvince, ServiceOrdTraCity, ServiceOrdTraStreet, ServiceOrdTraEnd, ServiceOrdTraDistance, ServiceOrdTraUnitPrice, ServiceOrdTraTxnPrice, ServiceOrdTraPaidType, ServiceOrdTraPaidPrice, ServiceOrdUnitRemarks, ServiceOrd_CC_Time from ServiceOrder
    </sql>
    <sql id="selectServiceOrderWhere">
@@ -50,6 +51,7 @@
            <if test="serviceOrder.serviceOrdPtAge != null  and serviceOrder.serviceOrdPtAge != ''"> and ServiceOrdPtAge = #{serviceOrder.serviceOrdPtAge}</if>
            <if test="serviceOrder.serviceOrdPtSex != null  and serviceOrder.serviceOrdPtSex != ''"> and ServiceOrdPtSex = #{serviceOrder.serviceOrdPtSex}</if>
            <if test="serviceOrder.serviceOrdPtIDCard != null  and serviceOrder.serviceOrdPtIDCard != ''"> and ServiceOrdPtIDCard = #{serviceOrder.serviceOrdPtIDCard}</if>
            <if test="serviceOrder.serviceOrdTraTxnPrice != null  and serviceOrder.serviceOrdTraTxnPrice != ''"> and ServiceOrdTraTxnPrice = #{serviceOrder.serviceOrdTraTxnPrice}</if>
        </where>
    </sql>
ruoyi-system/src/main/resources/mapper/system/SysClientAppMapper.xml
@@ -18,10 +18,11 @@
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
        <result property="remark"    column="remark"    />
        <result property="minAppId"    column="min_app_id"    />
    </resultMap>
    <sql id="selectSysClientAppVo">
        select app_id, client_name, app_key, security_key, valid_start_time, valid_end_time, status, del_flag, create_by, create_time, update_by, update_time, remark from sys_client_app
        select app_id, client_name, app_key, security_key, valid_start_time, valid_end_time, status, del_flag, create_by, create_time, update_by, update_time, remark, min_app_id from sys_client_app
    </sql>
    <select id="selectSysClientAppList" parameterType="SysClientApp" resultMap="SysClientAppResult">
@@ -60,6 +61,7 @@
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="remark != null">remark,</if>
            <if test="minAppId != null">min_app_id,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="clientName != null">#{clientName},</if>
@@ -74,6 +76,7 @@
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="remark != null">#{remark},</if>
            <if test="minAppId != null">#{minAppId},</if>
         </trim>
    </insert>
@@ -87,6 +90,7 @@
            <if test="validEndTime != null">valid_end_time = #{validEndTime},</if>
            <if test="status != null and status != ''">status = #{status},</if>
            <if test="remark != null">remark = #{remark},</if>
            <if test="minAppId != null">min_app_id = #{minAppId},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            update_time = sysdate()
        </set>
ruoyi-system/src/main/resources/mapper/system/TbOrdersMapper.xml
@@ -42,10 +42,11 @@
        <result property="ServiceOrdNo"    column="ServiceOrdNo"    />
        <result property="CreateTime"    column="CreateTime"    />
        <result property="UpdateTime"    column="UpdateTime"    />
        <result property="OrderStatus"    column="OrderStatus"    />
    </resultMap>
    <sql id="selectTbOrdersVo">
        select OrderID, LinkPerson, LinkTel, AlarmTel, PatientName, Sex, Age, Kg, Sense, LocalAddress, LocalLongitude, LocalLatitude, LocalProvince, LocalCity, LocalDistrict, SendAddress, SendLongitude, SendLatitude, SendProvince, SendCity, SendDistrict, BookingPrice, BookingDate, Remark, Complaint, PatientCount, BookingKM, EscortCode, LiftingCode, LiftingFloor, RequirementCode, TypeCode, ThirdPartyResult, ServiceOrdID, ServiceOrdNo, CreateTime, UpdateTime from tb_orders
        select OrderID, LinkPerson, LinkTel, AlarmTel, PatientName, Sex, Age, Kg, Sense, LocalAddress, LocalLongitude, LocalLatitude, LocalProvince, LocalCity, LocalDistrict, SendAddress, SendLongitude, SendLatitude, SendProvince, SendCity, SendDistrict, BookingPrice, BookingDate, Remark, Complaint, PatientCount, BookingKM, EscortCode, LiftingCode, LiftingFloor, RequirementCode, TypeCode, ThirdPartyResult, ServiceOrdID, ServiceOrdNo, CreateTime, UpdateTime, OrderStatus from tb_orders
    </sql>
    <select id="selectTbOrdersList" parameterType="TbOrders" resultMap="TbOrdersResult">
@@ -87,6 +88,7 @@
            <if test="ServiceOrdNo != null  and ServiceOrdNo != ''"> and ServiceOrdNo = #{ServiceOrdNo}</if>
            <if test="CreateTime != null "> and CreateTime = #{CreateTime}</if>
            <if test="UpdateTime != null "> and UpdateTime = #{UpdateTime}</if>
            <if test="OrderStatus != null "> and OrderStatus = #{OrderStatus}</if>
        </where>
    </select>
    
@@ -135,6 +137,7 @@
            <if test="ServiceOrdNo != null">ServiceOrdNo,</if>
            <if test="CreateTime != null">CreateTime,</if>
            <if test="UpdateTime != null">UpdateTime,</if>
            <if test="OrderStatus != null">OrderStatus,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="OrderID != null">#{OrderID},</if>
@@ -174,6 +177,7 @@
            <if test="ServiceOrdNo != null">#{ServiceOrdNo},</if>
            <if test="CreateTime != null">#{CreateTime},</if>
            <if test="UpdateTime != null">#{UpdateTime},</if>
            <if test="OrderStatus != null">#{OrderStatus},</if>
         </trim>
    </insert>
@@ -216,6 +220,7 @@
            <if test="ServiceOrdNo != null">ServiceOrdNo = #{ServiceOrdNo},</if>
            <if test="CreateTime != null">CreateTime = #{CreateTime},</if>
            <if test="UpdateTime != null">UpdateTime = #{UpdateTime},</if>
            <if test="OrderStatus != null">OrderStatus = #{OrderStatus},</if>
        </trim>
        where OrderID = #{OrderID}
    </update>
ruoyi-ui/src/api/system/orders.js
@@ -42,3 +42,11 @@
    method: 'delete'
  })
}
// 重新发送订单
export function resendOrder(orderId) {
  return request({
    url: '/system/orders/resend/' + orderId,
    method: 'post'
  })
}
ruoyi-ui/src/views/system/order/detail.vue
@@ -2,9 +2,8 @@
  <div class="app-container">
    <el-card class="box-card">
      <div slot="header" class="clearfix">
        <span>订单编号:{{ orderInfo.orderNo }}</span>
        <span>订单编号:{{ orderInfo.OrderID }}</span>
      </div>
      <el-row :gutter="20">
        <!-- 订单基本信息 -->
        <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
@@ -82,7 +81,7 @@
              <el-descriptions-item label="司机">{{ dispatchInfo.driver }}</el-descriptions-item>
              <el-descriptions-item label="车牌">{{ dispatchInfo.carNo }}</el-descriptions-item>
              <el-descriptions-item label="医生">{{ dispatchInfo.doctor }}</el-descriptions-item>
              <el-descriptions-item label="职位">{{ dispatchInfo.doctorPosition }}</el-descriptions-item>
              <!-- <el-descriptions-item label="职位">{{ dispatchInfo.doctorPosition }}</el-descriptions-item> -->
              <el-descriptions-item label="护士">{{ dispatchInfo.nurse }}</el-descriptions-item>
            </el-descriptions>
          </el-card>
@@ -92,9 +91,9 @@
        <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
          <el-card class="inner-card">
            <div slot="header"><b>收款信息</b></div>
            <el-table
              :data="paymentInfo"
              border
            <el-table
              :data="paymentInfo"
              border
              style="width: 100%"
              :size="isMobile ? 'mini' : 'medium'"
              class="responsive-table">
@@ -116,9 +115,9 @@
              <b>运行情况</b>
              <span style="float: right">粤A102311</span>
            </div>
            <el-table
              :data="operationInfo"
              border
            <el-table
              :data="operationInfo"
              border
              style="width: 100%"
              :size="isMobile ? 'mini' : 'medium'"
              class="responsive-table">
@@ -180,6 +179,9 @@
        this.dispatchInfo = data.dispatchInfo || {}
        this.paymentInfo = data.paymentInfo || []
        this.operationInfo = data.operationInfo || []
        console.log(this.orderInfo)
      })
    },
    // 处理窗口大小变化
@@ -218,4 +220,4 @@
  .el-descriptions-item { padding: 8px !important; }
  .el-descriptions-item__label { width: 100px !important; }
}
</style>
</style>
ruoyi-ui/src/views/system/orders/index.vue
@@ -87,7 +87,15 @@
    <el-table v-loading="loading" :data="ordersList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="ID" align="center" prop="OrderID" />
      <el-table-column label="订单ID" align="center" prop="OrderID" />
      <el-table-column label="订单状态" align="center" prop="OrderStatus">
        <template slot-scope="scope">
          <el-tag v-if="scope.row.OrderStatus === 0" type="warning">已提交</el-tag>
          <el-tag v-else-if="scope.row.OrderStatus === 1" type="success">处理成功</el-tag>
          <el-tag v-else-if="scope.row.OrderStatus === 2" type="info">已取消</el-tag>
          <el-tag v-else type="danger">未知状态</el-tag>
        </template>
      </el-table-column>
      <el-table-column label="联系人" align="center" prop="LinkPerson" />
      <el-table-column label="联系电话" align="center" prop="LinkTel" />
      <el-table-column label="受理电话" align="center" prop="AlarmTel" />
@@ -111,7 +119,7 @@
      <el-table-column label="预估金额" align="center" prop="BookingPrice" />
      <el-table-column label="预约时间" align="center" prop="BookingDate" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.BookingDate, '{y}-{m}-{d}') }}</span>
          <span>{{ parseTime(scope.row.BookingDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
        </template>
      </el-table-column>
      <el-table-column label="备注" align="center" prop="Remark" />
@@ -123,37 +131,37 @@
      <el-table-column label="楼层" align="center" prop="LiftingFloor" />
      <el-table-column label="监护,重症" align="center" prop="RequirementCode" />
      <el-table-column label="转运类型" align="center" prop="TypeCode" />
      <el-table-column label="第三方调用结果" align="center" prop="ThirdPartyResult" />
      <el-table-column label="第三方调用结果" align="center" prop="ThirdPartyResult">
        <template slot-scope="scope">
          <el-tag v-if="scope.row.ThirdPartyResult === 1" type="success">调用成功</el-tag>
          <el-tag v-else-if="scope.row.ThirdPartyResult === 2" type="danger">调用失败</el-tag>
          <el-tag v-else type="info">未知状态</el-tag>
        </template>
      </el-table-column>
      <el-table-column label="第三方服务ID" align="center" prop="ServiceOrdID" />
      <el-table-column label="第三方服务单号" align="center" prop="ServiceOrdNo" />
      <el-table-column label="创建时间" align="center" prop="CreateTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.CreateTime, '{y}-{m}-{d}') }}</span>
          <span>{{ parseTime(scope.row.CreateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
        </template>
      </el-table-column>
      <el-table-column label="更新时间" align="center" prop="UpdateTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.UpdateTime, '{y}-{m}-{d}') }}</span>
          <span>{{ parseTime(scope.row.UpdateTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
        </template>
      </el-table-column>
      <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template slot-scope="scope">
          <el-button
            v-if="scope.row.ThirdPartyResult === 2 || scope.row.OrderStatus === 0"
            size="mini"
            type="text"
            icon="el-icon-edit"
            @click="handleUpdate(scope.row)"
            v-hasPermi="['system:orders:edit']"
          >修改</el-button>
          <el-button
            size="mini"
            type="text"
            icon="el-icon-delete"
            @click="handleDelete(scope.row)"
            v-hasPermi="['system:orders:remove']"
          >删除</el-button>
            type="primary"
            icon="el-icon-refresh"
            @click="handleResend(scope.row)"
          >重新发送</el-button>
        </template>
      </el-table-column> -->
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
@@ -280,7 +288,7 @@
</template>
<script>
import { listOrders, getOrders, delOrders, addOrders, updateOrders } from "@/api/system/orders";
import { listOrders, getOrders, delOrders, addOrders, updateOrders, resendOrder } from "@/api/system/orders";
export default {
  name: "Orders",
@@ -480,6 +488,17 @@
      this.download('system/orders/export', {
        ...this.queryParams
      }, `orders_${new Date().getTime()}.xlsx`)
    },
    /** 重新发送按钮操作 */
    handleResend(row) {
      this.$modal.confirm('是否确认重新发送该订单?').then(() => {
        // 这里调用重新发送的API
        // TODO: 需要在后端实现重新发送的接口
        resendOrder(row.OrderID).then(response => {
          this.$modal.msgSuccess("重新发送成功");
          this.getList();
        }).catch(() => {});
      }).catch(() => {});
    }
  }
};