From afbf429242dbab320dea6e986b9ca3d9ccc01296 Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期四, 01 五月 2025 11:47:49 +0800
Subject: [PATCH] feat: 增加订单查询管理页面

---
 ruoyi-system/src/main/java/com/ruoyi/system/domain/TbOrders.java                  |  556 +++++++++++++++++++
 ruoyi-ui/src/api/system/orders.js                                                 |   44 +
 ruoyi-system/src/main/resources/mapper/system/TbOrdersMapper.xml                  |  231 +++++++
 ruoyi-admin/src/main/resources/application.yml                                    |    2 
 doc/966120生成服务单接口.pdf                                                             |    0 
 ruoyi-system/src/main/java/com/ruoyi/system/service/ITbOrdersService.java         |   61 ++
 ruoyi-ui/src/views/system/orders/index.vue                                        |  486 ++++++++++++++++
 doc/966120API接口规范.pdf                                                             |    0 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java |  104 +++
 sql/ordersMenu.sql                                                                |   22 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrdersServiceImpl.java |   93 +++
 ruoyi-admin/src/main/resources/application-druid.yml                              |    2 
 sql/tb_orders.sql                                                                 |   65 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbOrdersMapper.java            |   61 ++
 14 files changed, 1,725 insertions(+), 2 deletions(-)

diff --git "a/doc/966120API\346\216\245\345\217\243\350\247\204\350\214\203.pdf" "b/doc/966120API\346\216\245\345\217\243\350\247\204\350\214\203.pdf"
new file mode 100644
index 0000000..0914adb
--- /dev/null
+++ "b/doc/966120API\346\216\245\345\217\243\350\247\204\350\214\203.pdf"
Binary files differ
diff --git "a/doc/966120\347\224\237\346\210\220\346\234\215\345\212\241\345\215\225\346\216\245\345\217\243.pdf" "b/doc/966120\347\224\237\346\210\220\346\234\215\345\212\241\345\215\225\346\216\245\345\217\243.pdf"
new file mode 100644
index 0000000..51381f4
--- /dev/null
+++ "b/doc/966120\347\224\237\346\210\220\346\234\215\345\212\241\345\215\225\346\216\245\345\217\243.pdf"
Binary files differ
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
new file mode 100644
index 0000000..7d4a966
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+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.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.system.domain.TbOrders;
+import com.ruoyi.system.service.ITbOrdersService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * ordersController
+ * 
+ * @author wzp
+ * @date 2025-05-01
+ */
+@RestController
+@RequestMapping("/system/orders")
+public class TbOrdersController extends BaseController
+{
+    @Autowired
+    private ITbOrdersService tbOrdersService;
+
+    /**
+     * 鏌ヨorders鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('system:orders:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TbOrders tbOrders)
+    {
+        startPage();
+        List<TbOrders> list = tbOrdersService.selectTbOrdersList(tbOrders);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭orders鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('system:orders:export')")
+    @Log(title = "orders", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TbOrders tbOrders)
+    {
+        List<TbOrders> list = tbOrdersService.selectTbOrdersList(tbOrders);
+        ExcelUtil<TbOrders> util = new ExcelUtil<TbOrders>(TbOrders.class);
+        util.exportExcel(response, list, "orders鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇orders璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('system:orders:query')")
+    @GetMapping(value = "/{OrderID}")
+    public AjaxResult getInfo(@PathVariable("OrderID") Long OrderID)
+    {
+        return success(tbOrdersService.selectTbOrdersByOrderID(OrderID));
+    }
+
+    /**
+     * 鏂板orders
+     */
+    @PreAuthorize("@ss.hasPermi('system:orders:add')")
+    @Log(title = "orders", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TbOrders tbOrders)
+    {
+        return toAjax(tbOrdersService.insertTbOrders(tbOrders));
+    }
+
+    /**
+     * 淇敼orders
+     */
+    @PreAuthorize("@ss.hasPermi('system:orders:edit')")
+    @Log(title = "orders", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TbOrders tbOrders)
+    {
+        return toAjax(tbOrdersService.updateTbOrders(tbOrders));
+    }
+
+    /**
+     * 鍒犻櫎orders
+     */
+    @PreAuthorize("@ss.hasPermi('system:orders:remove')")
+    @Log(title = "orders", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{OrderIDs}")
+    public AjaxResult remove(@PathVariable Long[] OrderIDs)
+    {
+        return toAjax(tbOrdersService.deleteTbOrdersByOrderIDs(OrderIDs));
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 963268b..ac810e6 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,7 +6,7 @@
         druid:
             # 涓诲簱鏁版嵁婧�
             master:
-                url: jdbc:mysql://120.25.98.119:3307/rouyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://120.25.98.119:3307/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
                 password: abcd1234
             # 浠庡簱鏁版嵁婧�
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index db0b9f1..43751f6 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -74,7 +74,7 @@
     # 鍦板潃
     host: localhost
     # 绔彛锛岄粯璁や负6379
-    port: 6379
+    port: 16379
     # 鏁版嵁搴撶储寮�
     database: 0
     # 瀵嗙爜
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbOrders.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbOrders.java
new file mode 100644
index 0000000..c62e8f8
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TbOrders.java
@@ -0,0 +1,556 @@
+package com.ruoyi.system.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * orders瀵硅薄 tb_orders
+ * 
+ * @author wzp
+ * @date 2025-05-01
+ */
+public class TbOrders extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 骞夸氦鐨勮鍗� ID锛岀郴缁熷敮涓�鍒涘缓璁㈠崟 */
+    private Long OrderID;
+
+    /** 鑱旂郴浜� */
+    @Excel(name = "鑱旂郴浜�")
+    private String LinkPerson;
+
+    /** 鑱旂郴鐢佃瘽 */
+    @Excel(name = "鑱旂郴鐢佃瘽")
+    private String LinkTel;
+
+    /** 鍙楃悊鐢佃瘽,鏉ョ數鐢佃瘽 */
+    @Excel(name = "鍙楃悊鐢佃瘽,鏉ョ數鐢佃瘽")
+    private String AlarmTel;
+
+    /** 鎮h�呭鍚� */
+    @Excel(name = "鎮h�呭鍚�")
+    private String PatientName;
+
+    /** 鎮h�呮�у埆 */
+    @Excel(name = "鎮h�呮�у埆")
+    private Integer Sex;
+
+    /** 鎮h�呭勾榫� */
+    @Excel(name = "鎮h�呭勾榫�")
+    private String Age;
+
+    /** 鎮h�呬綋閲� */
+    @Excel(name = "鎮h�呬綋閲�")
+    private String Kg;
+
+    /** 鎮h�呮湁鏃犳剰璇� */
+    @Excel(name = "鎮h�呮湁鏃犳剰璇�")
+    private String Sense;
+
+    /** 鐜板満鍦板潃 */
+    @Excel(name = "鐜板満鍦板潃")
+    private String LocalAddress;
+
+    /** 鐜板満鍦板潃缁忓害锛堢洰鍓嶆槸 gcj02 鍧愭爣绯伙級 */
+    @Excel(name = "鐜板満鍦板潃缁忓害", readConverterExp = "鐩�=鍓嶆槸,g=cj02,鍧�=鏍囩郴")
+    private Long LocalLongitude;
+
+    /** 鐜板満鍦板潃绾害 */
+    @Excel(name = "鐜板満鍦板潃绾害")
+    private Long LocalLatitude;
+
+    /** 鐜板満鎵�鍦ㄧ渷 */
+    @Excel(name = "鐜板満鎵�鍦ㄧ渷")
+    private String LocalProvince;
+
+    /** 鐜板満鎵�鍦ㄥ煄甯� */
+    @Excel(name = "鐜板満鎵�鍦ㄥ煄甯�")
+    private String LocalCity;
+
+    /** 鐜板満鎵�鍦ㄥ尯 */
+    @Excel(name = "鐜板満鎵�鍦ㄥ尯")
+    private String LocalDistrict;
+
+    /** 閫佸線鍦板潃 */
+    @Excel(name = "閫佸線鍦板潃")
+    private String SendAddress;
+
+    /** 閫佸線缁忓害 */
+    @Excel(name = "閫佸線缁忓害")
+    private Long SendLongitude;
+
+    /** 閫佸線绾害 */
+    @Excel(name = "閫佸線绾害")
+    private Long SendLatitude;
+
+    /** 閫佸線鎵�鍦ㄧ渷 */
+    @Excel(name = "閫佸線鎵�鍦ㄧ渷")
+    private String SendProvince;
+
+    /** 閫佸線鎵�鍦ㄥ煄甯� */
+    @Excel(name = "閫佸線鎵�鍦ㄥ煄甯�")
+    private String SendCity;
+
+    /** 閫佸線鎵�鍦ㄥ尯 */
+    @Excel(name = "閫佸線鎵�鍦ㄥ尯")
+    private String SendDistrict;
+
+    /** 棰勪及閲戦 */
+    @Excel(name = "棰勪及閲戦")
+    private BigDecimal BookingPrice;
+
+    /** 棰勭害鏃堕棿锛堟椂闂寸被鍨嬶紝绮剧‘鍒板皬鏃讹級 */
+    @Excel(name = "棰勭害鏃堕棿", readConverterExp = "鏃�=闂寸被鍨嬶紝绮剧‘鍒板皬鏃�")
+    private Date BookingDate;
+
+    /** 鐥呬汉鎯呭喌 */
+    @Excel(name = "鐥呬汉鎯呭喌")
+    private String Complaint;
+
+    /** 浜烘暟 */
+    @Excel(name = "浜烘暟")
+    private Long PatientCount;
+
+    /** 棰勪及棰勭害鍏噷 */
+    @Excel(name = "棰勪及棰勭害鍏噷")
+    private Long BookingKM;
+
+    /** 鏅�氭姢閫侊紝鐩戞姢鎶ら�侊紙鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪�硷級 */
+    @Excel(name = "鏅�氭姢閫侊紝鐩戞姢鎶ら��", readConverterExp = "鍙�=鎸夌収绗笁鏂圭殑瀛楀吀鏂板鎴栬祴鍊�")
+    private Long EscortCode;
+
+    /** 姝ユ鎴栫數姊� */
+    @Excel(name = "姝ユ鎴栫數姊�")
+    private Long LiftingCode;
+
+    /** 妤煎眰 */
+    @Excel(name = "妤煎眰")
+    private Long LiftingFloor;
+
+    /** 鐩戞姢锛岄噸鐥�(鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪��) */
+    @Excel(name = "鐩戞姢锛岄噸鐥�(鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪��)")
+    private Long RequirementCode;
+
+    /** 杞繍绫诲瀷锛堝競鍐咃紝甯傚锛岀渷澶栫瓑锛屽彲鎸夌収绗笁鏂圭殑瀛楀吀鏂板鎴栬祴鍊硷級 */
+    @Excel(name = "杞繍绫诲瀷", readConverterExp = "甯�=鍐咃紝甯傚锛岀渷澶栫瓑锛屽彲鎸夌収绗笁鏂圭殑瀛楀吀鏂板鎴栬祴鍊�")
+    private Long TypeCode;
+
+    /** 绗笁鏂硅皟鐢ㄦ帴鍙h繑鍥炵粨鏋�,1-鎴愬姛锛�2-澶辫触 */
+    @Excel(name = "绗笁鏂硅皟鐢ㄦ帴鍙h繑鍥炵粨鏋�,1-鎴愬姛锛�2-澶辫触")
+    private Integer ThirdPartyResult;
+
+    /** 绗笁鏂规湇鍔D */
+    @Excel(name = "绗笁鏂规湇鍔D")
+    private String ServiceOrdID;
+
+    /** 绗笁鏂规湇鍔″崟鍙� */
+    @Excel(name = "绗笁鏂规湇鍔″崟鍙�")
+    private String ServiceOrdNo;
+
+    private String Remark;
+
+    private Date CreateTime;
+
+    private Date UpdateTime;
+
+    public void setOrderID(Long OrderID) 
+    {
+        this.OrderID = OrderID;
+    }
+
+    public Long getOrderID() 
+    {
+        return OrderID;
+    }
+
+    public void setLinkPerson(String LinkPerson) 
+    {
+        this.LinkPerson = LinkPerson;
+    }
+
+    public String getLinkPerson() 
+    {
+        return LinkPerson;
+    }
+
+    public void setLinkTel(String LinkTel) 
+    {
+        this.LinkTel = LinkTel;
+    }
+
+    public String getLinkTel() 
+    {
+        return LinkTel;
+    }
+
+    public void setAlarmTel(String AlarmTel) 
+    {
+        this.AlarmTel = AlarmTel;
+    }
+
+    public String getAlarmTel() 
+    {
+        return AlarmTel;
+    }
+
+    public void setPatientName(String PatientName) 
+    {
+        this.PatientName = PatientName;
+    }
+
+    public String getPatientName() 
+    {
+        return PatientName;
+    }
+
+    public void setSex(Integer Sex) 
+    {
+        this.Sex = Sex;
+    }
+
+    public Integer getSex() 
+    {
+        return Sex;
+    }
+
+    public void setAge(String Age) 
+    {
+        this.Age = Age;
+    }
+
+    public String getAge() 
+    {
+        return Age;
+    }
+
+    public void setKg(String Kg) 
+    {
+        this.Kg = Kg;
+    }
+
+    public String getKg() 
+    {
+        return Kg;
+    }
+
+    public void setSense(String Sense) 
+    {
+        this.Sense = Sense;
+    }
+
+    public String getSense() 
+    {
+        return Sense;
+    }
+
+    public void setLocalAddress(String LocalAddress) 
+    {
+        this.LocalAddress = LocalAddress;
+    }
+
+    public String getLocalAddress() 
+    {
+        return LocalAddress;
+    }
+
+    public void setLocalLongitude(Long LocalLongitude) 
+    {
+        this.LocalLongitude = LocalLongitude;
+    }
+
+    public Long getLocalLongitude() 
+    {
+        return LocalLongitude;
+    }
+
+    public void setLocalLatitude(Long LocalLatitude) 
+    {
+        this.LocalLatitude = LocalLatitude;
+    }
+
+    public Long getLocalLatitude() 
+    {
+        return LocalLatitude;
+    }
+
+    public void setLocalProvince(String LocalProvince) 
+    {
+        this.LocalProvince = LocalProvince;
+    }
+
+    public String getLocalProvince() 
+    {
+        return LocalProvince;
+    }
+
+    public void setLocalCity(String LocalCity) 
+    {
+        this.LocalCity = LocalCity;
+    }
+
+    public String getLocalCity() 
+    {
+        return LocalCity;
+    }
+
+    public void setLocalDistrict(String LocalDistrict) 
+    {
+        this.LocalDistrict = LocalDistrict;
+    }
+
+    public String getLocalDistrict() 
+    {
+        return LocalDistrict;
+    }
+
+    public void setSendAddress(String SendAddress) 
+    {
+        this.SendAddress = SendAddress;
+    }
+
+    public String getSendAddress() 
+    {
+        return SendAddress;
+    }
+
+    public void setSendLongitude(Long SendLongitude) 
+    {
+        this.SendLongitude = SendLongitude;
+    }
+
+    public Long getSendLongitude() 
+    {
+        return SendLongitude;
+    }
+
+    public void setSendLatitude(Long SendLatitude) 
+    {
+        this.SendLatitude = SendLatitude;
+    }
+
+    public Long getSendLatitude() 
+    {
+        return SendLatitude;
+    }
+
+    public void setSendProvince(String SendProvince) 
+    {
+        this.SendProvince = SendProvince;
+    }
+
+    public String getSendProvince() 
+    {
+        return SendProvince;
+    }
+
+    public void setSendCity(String SendCity) 
+    {
+        this.SendCity = SendCity;
+    }
+
+    public String getSendCity() 
+    {
+        return SendCity;
+    }
+
+    public void setSendDistrict(String SendDistrict) 
+    {
+        this.SendDistrict = SendDistrict;
+    }
+
+    public String getSendDistrict() 
+    {
+        return SendDistrict;
+    }
+
+    public void setBookingPrice(BigDecimal BookingPrice) 
+    {
+        this.BookingPrice = BookingPrice;
+    }
+
+    public BigDecimal getBookingPrice() 
+    {
+        return BookingPrice;
+    }
+
+    public void setBookingDate(Date BookingDate) 
+    {
+        this.BookingDate = BookingDate;
+    }
+
+    public Date getBookingDate() 
+    {
+        return BookingDate;
+    }
+
+    public void setComplaint(String Complaint) 
+    {
+        this.Complaint = Complaint;
+    }
+
+    public String getComplaint() 
+    {
+        return Complaint;
+    }
+
+    public void setPatientCount(Long PatientCount) 
+    {
+        this.PatientCount = PatientCount;
+    }
+
+    public Long getPatientCount() 
+    {
+        return PatientCount;
+    }
+
+    public void setBookingKM(Long BookingKM) 
+    {
+        this.BookingKM = BookingKM;
+    }
+
+    public Long getBookingKM() 
+    {
+        return BookingKM;
+    }
+
+    public void setEscortCode(Long EscortCode) 
+    {
+        this.EscortCode = EscortCode;
+    }
+
+    public Long getEscortCode() 
+    {
+        return EscortCode;
+    }
+
+    public void setLiftingCode(Long LiftingCode) 
+    {
+        this.LiftingCode = LiftingCode;
+    }
+
+    public Long getLiftingCode() 
+    {
+        return LiftingCode;
+    }
+
+    public void setLiftingFloor(Long LiftingFloor) 
+    {
+        this.LiftingFloor = LiftingFloor;
+    }
+
+    public Long getLiftingFloor() 
+    {
+        return LiftingFloor;
+    }
+
+    public void setRequirementCode(Long RequirementCode) 
+    {
+        this.RequirementCode = RequirementCode;
+    }
+
+    public Long getRequirementCode() 
+    {
+        return RequirementCode;
+    }
+
+    public void setTypeCode(Long TypeCode) 
+    {
+        this.TypeCode = TypeCode;
+    }
+
+    public Long getTypeCode() 
+    {
+        return TypeCode;
+    }
+
+    public void setThirdPartyResult(Integer ThirdPartyResult) 
+    {
+        this.ThirdPartyResult = ThirdPartyResult;
+    }
+
+    public Integer getThirdPartyResult() 
+    {
+        return ThirdPartyResult;
+    }
+
+    public void setServiceOrdID(String ServiceOrdID) 
+    {
+        this.ServiceOrdID = ServiceOrdID;
+    }
+
+    public String getServiceOrdID() 
+    {
+        return ServiceOrdID;
+    }
+
+    public void setServiceOrdNo(String ServiceOrdNo) 
+    {
+        this.ServiceOrdNo = ServiceOrdNo;
+    }
+
+    public String getServiceOrdNo() 
+    {
+        return ServiceOrdNo;
+    }
+
+    public String getRemark(){return Remark;}
+
+    public void setRemark(String Remark){this.Remark =Remark;}
+
+    public Date getCreateTime(){return CreateTime;}
+
+    public void setCreateTime(Date CreateTime){this.CreateTime =CreateTime;}
+
+    public Date getUpdateTime(){return UpdateTime;}
+
+    public void setUpdateTime(Date UpdateTime){this.UpdateTime =UpdateTime;}
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("OrderID", getOrderID())
+            .append("LinkPerson", getLinkPerson())
+            .append("LinkTel", getLinkTel())
+            .append("AlarmTel", getAlarmTel())
+            .append("PatientName", getPatientName())
+            .append("Sex", getSex())
+            .append("Age", getAge())
+            .append("Kg", getKg())
+            .append("Sense", getSense())
+            .append("LocalAddress", getLocalAddress())
+            .append("LocalLongitude", getLocalLongitude())
+            .append("LocalLatitude", getLocalLatitude())
+            .append("LocalProvince", getLocalProvince())
+            .append("LocalCity", getLocalCity())
+            .append("LocalDistrict", getLocalDistrict())
+            .append("SendAddress", getSendAddress())
+            .append("SendLongitude", getSendLongitude())
+            .append("SendLatitude", getSendLatitude())
+            .append("SendProvince", getSendProvince())
+            .append("SendCity", getSendCity())
+            .append("SendDistrict", getSendDistrict())
+            .append("BookingPrice", getBookingPrice())
+            .append("BookingDate", getBookingDate())
+            .append("Remark", getRemark())
+            .append("Complaint", getComplaint())
+            .append("PatientCount", getPatientCount())
+            .append("BookingKM", getBookingKM())
+            .append("EscortCode", getEscortCode())
+            .append("LiftingCode", getLiftingCode())
+            .append("LiftingFloor", getLiftingFloor())
+            .append("RequirementCode", getRequirementCode())
+            .append("TypeCode", getTypeCode())
+            .append("ThirdPartyResult", getThirdPartyResult())
+            .append("ServiceOrdID", getServiceOrdID())
+            .append("ServiceOrdNo", getServiceOrdNo())
+            .append("CreateTime", getCreateTime())
+            .append("UpdateTime", getUpdateTime())
+            .toString();
+    }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbOrdersMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbOrdersMapper.java
new file mode 100644
index 0000000..696c435
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbOrdersMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.TbOrders;
+
+/**
+ * ordersMapper鎺ュ彛
+ * 
+ * @author wzp
+ * @date 2025-05-01
+ */
+public interface TbOrdersMapper 
+{
+    /**
+     * 鏌ヨorders
+     * 
+     * @param OrderID orders涓婚敭
+     * @return orders
+     */
+    public TbOrders selectTbOrdersByOrderID(Long OrderID);
+
+    /**
+     * 鏌ヨorders鍒楄〃
+     * 
+     * @param tbOrders orders
+     * @return orders闆嗗悎
+     */
+    public List<TbOrders> selectTbOrdersList(TbOrders tbOrders);
+
+    /**
+     * 鏂板orders
+     * 
+     * @param tbOrders orders
+     * @return 缁撴灉
+     */
+    public int insertTbOrders(TbOrders tbOrders);
+
+    /**
+     * 淇敼orders
+     * 
+     * @param tbOrders orders
+     * @return 缁撴灉
+     */
+    public int updateTbOrders(TbOrders tbOrders);
+
+    /**
+     * 鍒犻櫎orders
+     * 
+     * @param OrderID orders涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteTbOrdersByOrderID(Long OrderID);
+
+    /**
+     * 鎵归噺鍒犻櫎orders
+     * 
+     * @param OrderIDs 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteTbOrdersByOrderIDs(Long[] OrderIDs);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ITbOrdersService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITbOrdersService.java
new file mode 100644
index 0000000..ad0337d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ITbOrdersService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.TbOrders;
+
+/**
+ * ordersService鎺ュ彛
+ * 
+ * @author wzp
+ * @date 2025-05-01
+ */
+public interface ITbOrdersService 
+{
+    /**
+     * 鏌ヨorders
+     * 
+     * @param OrderID orders涓婚敭
+     * @return orders
+     */
+    public TbOrders selectTbOrdersByOrderID(Long OrderID);
+
+    /**
+     * 鏌ヨorders鍒楄〃
+     * 
+     * @param tbOrders orders
+     * @return orders闆嗗悎
+     */
+    public List<TbOrders> selectTbOrdersList(TbOrders tbOrders);
+
+    /**
+     * 鏂板orders
+     * 
+     * @param tbOrders orders
+     * @return 缁撴灉
+     */
+    public int insertTbOrders(TbOrders tbOrders);
+
+    /**
+     * 淇敼orders
+     * 
+     * @param tbOrders orders
+     * @return 缁撴灉
+     */
+    public int updateTbOrders(TbOrders tbOrders);
+
+    /**
+     * 鎵归噺鍒犻櫎orders
+     * 
+     * @param OrderIDs 闇�瑕佸垹闄ょ殑orders涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteTbOrdersByOrderIDs(Long[] OrderIDs);
+
+    /**
+     * 鍒犻櫎orders淇℃伅
+     * 
+     * @param OrderID orders涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteTbOrdersByOrderID(Long OrderID);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrdersServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrdersServiceImpl.java
new file mode 100644
index 0000000..aa5f79f
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbOrdersServiceImpl.java
@@ -0,0 +1,93 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.TbOrdersMapper;
+import com.ruoyi.system.domain.TbOrders;
+import com.ruoyi.system.service.ITbOrdersService;
+
+/**
+ * ordersService涓氬姟灞傚鐞�
+ * 
+ * @author wzp
+ * @date 2025-05-01
+ */
+@Service
+public class TbOrdersServiceImpl implements ITbOrdersService 
+{
+    @Autowired
+    private TbOrdersMapper tbOrdersMapper;
+
+    /**
+     * 鏌ヨorders
+     * 
+     * @param OrderID orders涓婚敭
+     * @return orders
+     */
+    @Override
+    public TbOrders selectTbOrdersByOrderID(Long OrderID)
+    {
+        return tbOrdersMapper.selectTbOrdersByOrderID(OrderID);
+    }
+
+    /**
+     * 鏌ヨorders鍒楄〃
+     * 
+     * @param tbOrders orders
+     * @return orders
+     */
+    @Override
+    public List<TbOrders> selectTbOrdersList(TbOrders tbOrders)
+    {
+        return tbOrdersMapper.selectTbOrdersList(tbOrders);
+    }
+
+    /**
+     * 鏂板orders
+     * 
+     * @param tbOrders orders
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertTbOrders(TbOrders tbOrders)
+    {
+        return tbOrdersMapper.insertTbOrders(tbOrders);
+    }
+
+    /**
+     * 淇敼orders
+     * 
+     * @param tbOrders orders
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateTbOrders(TbOrders tbOrders)
+    {
+        return tbOrdersMapper.updateTbOrders(tbOrders);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎orders
+     * 
+     * @param OrderIDs 闇�瑕佸垹闄ょ殑orders涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteTbOrdersByOrderIDs(Long[] OrderIDs)
+    {
+        return tbOrdersMapper.deleteTbOrdersByOrderIDs(OrderIDs);
+    }
+
+    /**
+     * 鍒犻櫎orders淇℃伅
+     * 
+     * @param OrderID orders涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteTbOrdersByOrderID(Long OrderID)
+    {
+        return tbOrdersMapper.deleteTbOrdersByOrderID(OrderID);
+    }
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/TbOrdersMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TbOrdersMapper.xml
new file mode 100644
index 0000000..7404a74
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/TbOrdersMapper.xml
@@ -0,0 +1,231 @@
+<?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.TbOrdersMapper">
+    
+    <resultMap type="TbOrders" id="TbOrdersResult">
+        <result property="OrderID"    column="OrderID"    />
+        <result property="LinkPerson"    column="LinkPerson"    />
+        <result property="LinkTel"    column="LinkTel"    />
+        <result property="AlarmTel"    column="AlarmTel"    />
+        <result property="PatientName"    column="PatientName"    />
+        <result property="Sex"    column="Sex"    />
+        <result property="Age"    column="Age"    />
+        <result property="Kg"    column="Kg"    />
+        <result property="Sense"    column="Sense"    />
+        <result property="LocalAddress"    column="LocalAddress"    />
+        <result property="LocalLongitude"    column="LocalLongitude"    />
+        <result property="LocalLatitude"    column="LocalLatitude"    />
+        <result property="LocalProvince"    column="LocalProvince"    />
+        <result property="LocalCity"    column="LocalCity"    />
+        <result property="LocalDistrict"    column="LocalDistrict"    />
+        <result property="SendAddress"    column="SendAddress"    />
+        <result property="SendLongitude"    column="SendLongitude"    />
+        <result property="SendLatitude"    column="SendLatitude"    />
+        <result property="SendProvince"    column="SendProvince"    />
+        <result property="SendCity"    column="SendCity"    />
+        <result property="SendDistrict"    column="SendDistrict"    />
+        <result property="BookingPrice"    column="BookingPrice"    />
+        <result property="BookingDate"    column="BookingDate"    />
+        <result property="Remark"    column="Remark"    />
+        <result property="Complaint"    column="Complaint"    />
+        <result property="PatientCount"    column="PatientCount"    />
+        <result property="BookingKM"    column="BookingKM"    />
+        <result property="EscortCode"    column="EscortCode"    />
+        <result property="LiftingCode"    column="LiftingCode"    />
+        <result property="LiftingFloor"    column="LiftingFloor"    />
+        <result property="RequirementCode"    column="RequirementCode"    />
+        <result property="TypeCode"    column="TypeCode"    />
+        <result property="ThirdPartyResult"    column="ThirdPartyResult"    />
+        <result property="ServiceOrdID"    column="ServiceOrdID"    />
+        <result property="ServiceOrdNo"    column="ServiceOrdNo"    />
+        <result property="CreateTime"    column="CreateTime"    />
+        <result property="UpdateTime"    column="UpdateTime"    />
+    </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
+    </sql>
+
+    <select id="selectTbOrdersList" parameterType="TbOrders" resultMap="TbOrdersResult">
+        <include refid="selectTbOrdersVo"/>
+        <where>  
+            <if test="LinkPerson != null  and LinkPerson != ''"> and LinkPerson = #{LinkPerson}</if>
+            <if test="LinkTel != null  and LinkTel != ''"> and LinkTel = #{LinkTel}</if>
+            <if test="AlarmTel != null  and AlarmTel != ''"> and AlarmTel = #{AlarmTel}</if>
+            <if test="PatientName != null  and PatientName != ''"> and PatientName like concat('%', #{PatientName}, '%')</if>
+            <if test="Sex != null "> and Sex = #{Sex}</if>
+            <if test="Age != null  and Age != ''"> and Age = #{Age}</if>
+            <if test="Kg != null  and Kg != ''"> and Kg = #{Kg}</if>
+            <if test="Sense != null  and Sense != ''"> and Sense = #{Sense}</if>
+            <if test="LocalAddress != null  and LocalAddress != ''"> and LocalAddress = #{LocalAddress}</if>
+            <if test="LocalLongitude != null "> and LocalLongitude = #{LocalLongitude}</if>
+            <if test="LocalLatitude != null "> and LocalLatitude = #{LocalLatitude}</if>
+            <if test="LocalProvince != null  and LocalProvince != ''"> and LocalProvince = #{LocalProvince}</if>
+            <if test="LocalCity != null  and LocalCity != ''"> and LocalCity = #{LocalCity}</if>
+            <if test="LocalDistrict != null  and LocalDistrict != ''"> and LocalDistrict = #{LocalDistrict}</if>
+            <if test="SendAddress != null  and SendAddress != ''"> and SendAddress = #{SendAddress}</if>
+            <if test="SendLongitude != null "> and SendLongitude = #{SendLongitude}</if>
+            <if test="SendLatitude != null "> and SendLatitude = #{SendLatitude}</if>
+            <if test="SendProvince != null  and SendProvince != ''"> and SendProvince = #{SendProvince}</if>
+            <if test="SendCity != null  and SendCity != ''"> and SendCity = #{SendCity}</if>
+            <if test="SendDistrict != null  and SendDistrict != ''"> and SendDistrict = #{SendDistrict}</if>
+            <if test="BookingPrice != null "> and BookingPrice = #{BookingPrice}</if>
+            <if test="BookingDate != null "> and BookingDate = #{BookingDate}</if>
+            <if test="Remark != null  and Remark != ''"> and Remark = #{Remark}</if>
+            <if test="Complaint != null  and Complaint != ''"> and Complaint = #{Complaint}</if>
+            <if test="PatientCount != null "> and PatientCount = #{PatientCount}</if>
+            <if test="BookingKM != null "> and BookingKM = #{BookingKM}</if>
+            <if test="EscortCode != null "> and EscortCode = #{EscortCode}</if>
+            <if test="LiftingCode != null "> and LiftingCode = #{LiftingCode}</if>
+            <if test="LiftingFloor != null "> and LiftingFloor = #{LiftingFloor}</if>
+            <if test="RequirementCode != null "> and RequirementCode = #{RequirementCode}</if>
+            <if test="TypeCode != null "> and TypeCode = #{TypeCode}</if>
+            <if test="ThirdPartyResult != null "> and ThirdPartyResult = #{ThirdPartyResult}</if>
+            <if test="ServiceOrdID != null  and ServiceOrdID != ''"> and ServiceOrdID = #{ServiceOrdID}</if>
+            <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>
+        </where>
+    </select>
+    
+    <select id="selectTbOrdersByOrderID" parameterType="Long" resultMap="TbOrdersResult">
+        <include refid="selectTbOrdersVo"/>
+        where OrderID = #{OrderID}
+    </select>
+
+    <insert id="insertTbOrders" parameterType="TbOrders" useGeneratedKeys="true" keyProperty="OrderID">
+        insert into tb_orders
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="LinkPerson != null">LinkPerson,</if>
+            <if test="LinkTel != null">LinkTel,</if>
+            <if test="AlarmTel != null">AlarmTel,</if>
+            <if test="PatientName != null">PatientName,</if>
+            <if test="Sex != null">Sex,</if>
+            <if test="Age != null">Age,</if>
+            <if test="Kg != null">Kg,</if>
+            <if test="Sense != null">Sense,</if>
+            <if test="LocalAddress != null">LocalAddress,</if>
+            <if test="LocalLongitude != null">LocalLongitude,</if>
+            <if test="LocalLatitude != null">LocalLatitude,</if>
+            <if test="LocalProvince != null">LocalProvince,</if>
+            <if test="LocalCity != null">LocalCity,</if>
+            <if test="LocalDistrict != null">LocalDistrict,</if>
+            <if test="SendAddress != null">SendAddress,</if>
+            <if test="SendLongitude != null">SendLongitude,</if>
+            <if test="SendLatitude != null">SendLatitude,</if>
+            <if test="SendProvince != null">SendProvince,</if>
+            <if test="SendCity != null">SendCity,</if>
+            <if test="SendDistrict != null">SendDistrict,</if>
+            <if test="BookingPrice != null">BookingPrice,</if>
+            <if test="BookingDate != null">BookingDate,</if>
+            <if test="Remark != null">Remark,</if>
+            <if test="Complaint != null">Complaint,</if>
+            <if test="PatientCount != null">PatientCount,</if>
+            <if test="BookingKM != null">BookingKM,</if>
+            <if test="EscortCode != null">EscortCode,</if>
+            <if test="LiftingCode != null">LiftingCode,</if>
+            <if test="LiftingFloor != null">LiftingFloor,</if>
+            <if test="RequirementCode != null">RequirementCode,</if>
+            <if test="TypeCode != null">TypeCode,</if>
+            <if test="ThirdPartyResult != null">ThirdPartyResult,</if>
+            <if test="ServiceOrdID != null">ServiceOrdID,</if>
+            <if test="ServiceOrdNo != null">ServiceOrdNo,</if>
+            <if test="CreateTime != null">CreateTime,</if>
+            <if test="UpdateTime != null">UpdateTime,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="LinkPerson != null">#{LinkPerson},</if>
+            <if test="LinkTel != null">#{LinkTel},</if>
+            <if test="AlarmTel != null">#{AlarmTel},</if>
+            <if test="PatientName != null">#{PatientName},</if>
+            <if test="Sex != null">#{Sex},</if>
+            <if test="Age != null">#{Age},</if>
+            <if test="Kg != null">#{Kg},</if>
+            <if test="Sense != null">#{Sense},</if>
+            <if test="LocalAddress != null">#{LocalAddress},</if>
+            <if test="LocalLongitude != null">#{LocalLongitude},</if>
+            <if test="LocalLatitude != null">#{LocalLatitude},</if>
+            <if test="LocalProvince != null">#{LocalProvince},</if>
+            <if test="LocalCity != null">#{LocalCity},</if>
+            <if test="LocalDistrict != null">#{LocalDistrict},</if>
+            <if test="SendAddress != null">#{SendAddress},</if>
+            <if test="SendLongitude != null">#{SendLongitude},</if>
+            <if test="SendLatitude != null">#{SendLatitude},</if>
+            <if test="SendProvince != null">#{SendProvince},</if>
+            <if test="SendCity != null">#{SendCity},</if>
+            <if test="SendDistrict != null">#{SendDistrict},</if>
+            <if test="BookingPrice != null">#{BookingPrice},</if>
+            <if test="BookingDate != null">#{BookingDate},</if>
+            <if test="Remark != null">#{Remark},</if>
+            <if test="Complaint != null">#{Complaint},</if>
+            <if test="PatientCount != null">#{PatientCount},</if>
+            <if test="BookingKM != null">#{BookingKM},</if>
+            <if test="EscortCode != null">#{EscortCode},</if>
+            <if test="LiftingCode != null">#{LiftingCode},</if>
+            <if test="LiftingFloor != null">#{LiftingFloor},</if>
+            <if test="RequirementCode != null">#{RequirementCode},</if>
+            <if test="TypeCode != null">#{TypeCode},</if>
+            <if test="ThirdPartyResult != null">#{ThirdPartyResult},</if>
+            <if test="ServiceOrdID != null">#{ServiceOrdID},</if>
+            <if test="ServiceOrdNo != null">#{ServiceOrdNo},</if>
+            <if test="CreateTime != null">#{CreateTime},</if>
+            <if test="UpdateTime != null">#{UpdateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTbOrders" parameterType="TbOrders">
+        update tb_orders
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="LinkPerson != null">LinkPerson = #{LinkPerson},</if>
+            <if test="LinkTel != null">LinkTel = #{LinkTel},</if>
+            <if test="AlarmTel != null">AlarmTel = #{AlarmTel},</if>
+            <if test="PatientName != null">PatientName = #{PatientName},</if>
+            <if test="Sex != null">Sex = #{Sex},</if>
+            <if test="Age != null">Age = #{Age},</if>
+            <if test="Kg != null">Kg = #{Kg},</if>
+            <if test="Sense != null">Sense = #{Sense},</if>
+            <if test="LocalAddress != null">LocalAddress = #{LocalAddress},</if>
+            <if test="LocalLongitude != null">LocalLongitude = #{LocalLongitude},</if>
+            <if test="LocalLatitude != null">LocalLatitude = #{LocalLatitude},</if>
+            <if test="LocalProvince != null">LocalProvince = #{LocalProvince},</if>
+            <if test="LocalCity != null">LocalCity = #{LocalCity},</if>
+            <if test="LocalDistrict != null">LocalDistrict = #{LocalDistrict},</if>
+            <if test="SendAddress != null">SendAddress = #{SendAddress},</if>
+            <if test="SendLongitude != null">SendLongitude = #{SendLongitude},</if>
+            <if test="SendLatitude != null">SendLatitude = #{SendLatitude},</if>
+            <if test="SendProvince != null">SendProvince = #{SendProvince},</if>
+            <if test="SendCity != null">SendCity = #{SendCity},</if>
+            <if test="SendDistrict != null">SendDistrict = #{SendDistrict},</if>
+            <if test="BookingPrice != null">BookingPrice = #{BookingPrice},</if>
+            <if test="BookingDate != null">BookingDate = #{BookingDate},</if>
+            <if test="Remark != null">Remark = #{Remark},</if>
+            <if test="Complaint != null">Complaint = #{Complaint},</if>
+            <if test="PatientCount != null">PatientCount = #{PatientCount},</if>
+            <if test="BookingKM != null">BookingKM = #{BookingKM},</if>
+            <if test="EscortCode != null">EscortCode = #{EscortCode},</if>
+            <if test="LiftingCode != null">LiftingCode = #{LiftingCode},</if>
+            <if test="LiftingFloor != null">LiftingFloor = #{LiftingFloor},</if>
+            <if test="RequirementCode != null">RequirementCode = #{RequirementCode},</if>
+            <if test="TypeCode != null">TypeCode = #{TypeCode},</if>
+            <if test="ThirdPartyResult != null">ThirdPartyResult = #{ThirdPartyResult},</if>
+            <if test="ServiceOrdID != null">ServiceOrdID = #{ServiceOrdID},</if>
+            <if test="ServiceOrdNo != null">ServiceOrdNo = #{ServiceOrdNo},</if>
+            <if test="CreateTime != null">CreateTime = #{CreateTime},</if>
+            <if test="UpdateTime != null">UpdateTime = #{UpdateTime},</if>
+        </trim>
+        where OrderID = #{OrderID}
+    </update>
+
+    <delete id="deleteTbOrdersByOrderID" parameterType="Long">
+        delete from tb_orders where OrderID = #{OrderID}
+    </delete>
+
+    <delete id="deleteTbOrdersByOrderIDs" parameterType="String">
+        delete from tb_orders where OrderID in 
+        <foreach item="OrderID" collection="array" open="(" separator="," close=")">
+            #{OrderID}
+        </foreach>
+    </delete>
+</mapper>
\ No newline at end of file
diff --git a/ruoyi-ui/src/api/system/orders.js b/ruoyi-ui/src/api/system/orders.js
new file mode 100644
index 0000000..99d3781
--- /dev/null
+++ b/ruoyi-ui/src/api/system/orders.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 鏌ヨorders鍒楄〃
+export function listOrders(query) {
+  return request({
+    url: '/system/orders/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 鏌ヨorders璇︾粏
+export function getOrders(OrderID) {
+  return request({
+    url: '/system/orders/' + OrderID,
+    method: 'get'
+  })
+}
+
+// 鏂板orders
+export function addOrders(data) {
+  return request({
+    url: '/system/orders',
+    method: 'post',
+    data: data
+  })
+}
+
+// 淇敼orders
+export function updateOrders(data) {
+  return request({
+    url: '/system/orders',
+    method: 'put',
+    data: data
+  })
+}
+
+// 鍒犻櫎orders
+export function delOrders(OrderID) {
+  return request({
+    url: '/system/orders/' + OrderID,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/views/system/orders/index.vue b/ruoyi-ui/src/views/system/orders/index.vue
new file mode 100644
index 0000000..c5135d1
--- /dev/null
+++ b/ruoyi-ui/src/views/system/orders/index.vue
@@ -0,0 +1,486 @@
+<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="LinkPerson">
+        <el-input
+          v-model="queryParams.LinkPerson"
+          placeholder="璇疯緭鍏ヨ仈绯讳汉"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鑱旂郴鐢佃瘽" prop="LinkTel">
+        <el-input
+          v-model="queryParams.LinkTel"
+          placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="鎮h�呭鍚�" prop="PatientName">
+        <el-input
+          v-model="queryParams.PatientName"
+          placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="棰勭害鏃堕棿" prop="BookingDate">
+        <el-date-picker clearable
+          v-model="queryParams.BookingDate"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨棰勭害鏃堕棿">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <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="['system:orders: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="['system:orders: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="['system:orders: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="['system:orders:export']"
+        >瀵煎嚭</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <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="鑱旂郴浜�" align="center" prop="LinkPerson" />
+      <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="LinkTel" />
+      <el-table-column label="鍙楃悊鐢佃瘽" align="center" prop="AlarmTel" />
+      <el-table-column label="鎮h�呭鍚�" align="center" prop="PatientName" />
+      <el-table-column label="鎮h�呮�у埆" align="center" prop="Sex" />
+      <el-table-column label="鎮h�呭勾榫�" align="center" prop="Age" />
+      <el-table-column label="鎮h�呬綋閲�" align="center" prop="Kg" />
+      <el-table-column label="鎮h�呮湁鏃犳剰璇�" align="center" prop="Sense" />
+      <el-table-column label="鐜板満鍦板潃" align="center" prop="LocalAddress" />
+      <el-table-column label="鐜板満鍦板潃缁忓害" align="center" prop="LocalLongitude" />
+      <el-table-column label="鐜板満鍦板潃绾害" align="center" prop="LocalLatitude" />
+      <el-table-column label="鐜板満鎵�鍦ㄧ渷" align="center" prop="LocalProvince" />
+      <el-table-column label="鐜板満鎵�鍦ㄥ煄甯�" align="center" prop="LocalCity" />
+      <el-table-column label="鐜板満鎵�鍦ㄥ尯" align="center" prop="LocalDistrict" />
+      <el-table-column label="閫佸線鍦板潃" align="center" prop="SendAddress" />
+      <el-table-column label="閫佸線缁忓害" align="center" prop="SendLongitude" />
+      <el-table-column label="閫佸線绾害" align="center" prop="SendLatitude" />
+      <el-table-column label="閫佸線鎵�鍦ㄧ渷" align="center" prop="SendProvince" />
+      <el-table-column label="閫佸線鎵�鍦ㄥ煄甯�" align="center" prop="SendCity" />
+      <el-table-column label="閫佸線鎵�鍦ㄥ尯" align="center" prop="SendDistrict" />
+      <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>
+        </template>
+      </el-table-column>
+      <el-table-column label="澶囨敞" align="center" prop="Remark" />
+      <el-table-column label="鐥呬汉鎯呭喌" align="center" prop="Complaint" />
+      <el-table-column label="浜烘暟" align="center" prop="PatientCount" />
+      <el-table-column label="棰勪及棰勭害鍏噷" align="center" prop="BookingKM" />
+      <el-table-column label="鏅�氭姢閫侊紝鐩戞姢鎶ら��" align="center" prop="EscortCode" />
+      <el-table-column label="姝ユ鎴栫數姊�" align="center" prop="LiftingCode" />
+      <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="绗笁鏂规湇鍔D" 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>
+        </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>
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            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>
+        </template>
+      </el-table-column> -->
+    </el-table>
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 娣诲姞鎴栦慨鏀筼rders瀵硅瘽妗� -->
+    <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="LinkPerson">
+          <el-input v-model="form.LinkPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
+        </el-form-item>
+        <el-form-item label="鑱旂郴鐢佃瘽" prop="LinkTel">
+          <el-input v-model="form.LinkTel" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+        </el-form-item>
+        <el-form-item label="鍙楃悊鐢佃瘽,鏉ョ數鐢佃瘽" prop="AlarmTel">
+          <el-input v-model="form.AlarmTel" placeholder="璇疯緭鍏ュ彈鐞嗙數璇�,鏉ョ數鐢佃瘽" />
+        </el-form-item>
+        <el-form-item label="鎮h�呭鍚�" prop="PatientName">
+          <el-input v-model="form.PatientName" placeholder="璇疯緭鍏ユ偅鑰呭鍚�" />
+        </el-form-item>
+        <el-form-item label="鎮h�呭勾榫�" prop="Age">
+          <el-input v-model="form.Age" placeholder="璇疯緭鍏ユ偅鑰呭勾榫�" />
+        </el-form-item>
+        <el-form-item label="鎮h�呬綋閲�" prop="Kg">
+          <el-input v-model="form.Kg" placeholder="璇疯緭鍏ユ偅鑰呬綋閲�" />
+        </el-form-item>
+        <el-form-item label="鎮h�呮湁鏃犳剰璇�" prop="Sense">
+          <el-input v-model="form.Sense" placeholder="璇疯緭鍏ユ偅鑰呮湁鏃犳剰璇�" />
+        </el-form-item>
+        <el-form-item label="鐜板満鍦板潃" prop="LocalAddress">
+          <el-input v-model="form.LocalAddress" placeholder="璇疯緭鍏ョ幇鍦哄湴鍧�" />
+        </el-form-item>
+        <el-form-item label="鐜板満鍦板潃缁忓害" prop="LocalLongitude">
+          <el-input v-model="form.LocalLongitude" placeholder="璇疯緭鍏ョ幇鍦哄湴鍧�缁忓害" />
+        </el-form-item>
+        <el-form-item label="鐜板満鍦板潃绾害" prop="LocalLatitude">
+          <el-input v-model="form.LocalLatitude" placeholder="璇疯緭鍏ョ幇鍦哄湴鍧�绾害" />
+        </el-form-item>
+        <el-form-item label="鐜板満鎵�鍦ㄧ渷" prop="LocalProvince">
+          <el-input v-model="form.LocalProvince" placeholder="璇疯緭鍏ョ幇鍦烘墍鍦ㄧ渷" />
+        </el-form-item>
+        <el-form-item label="鐜板満鎵�鍦ㄥ煄甯�" prop="LocalCity">
+          <el-input v-model="form.LocalCity" placeholder="璇疯緭鍏ョ幇鍦烘墍鍦ㄥ煄甯�" />
+        </el-form-item>
+        <el-form-item label="鐜板満鎵�鍦ㄥ尯" prop="LocalDistrict">
+          <el-input v-model="form.LocalDistrict" placeholder="璇疯緭鍏ョ幇鍦烘墍鍦ㄥ尯" />
+        </el-form-item>
+        <el-form-item label="閫佸線鍦板潃" prop="SendAddress">
+          <el-input v-model="form.SendAddress" placeholder="璇疯緭鍏ラ�佸線鍦板潃" />
+        </el-form-item>
+        <el-form-item label="閫佸線缁忓害" prop="SendLongitude">
+          <el-input v-model="form.SendLongitude" placeholder="璇疯緭鍏ラ�佸線缁忓害" />
+        </el-form-item>
+        <el-form-item label="閫佸線绾害" prop="SendLatitude">
+          <el-input v-model="form.SendLatitude" placeholder="璇疯緭鍏ラ�佸線绾害" />
+        </el-form-item>
+        <el-form-item label="閫佸線鎵�鍦ㄧ渷" prop="SendProvince">
+          <el-input v-model="form.SendProvince" placeholder="璇疯緭鍏ラ�佸線鎵�鍦ㄧ渷" />
+        </el-form-item>
+        <el-form-item label="閫佸線鎵�鍦ㄥ煄甯�" prop="SendCity">
+          <el-input v-model="form.SendCity" placeholder="璇疯緭鍏ラ�佸線鎵�鍦ㄥ煄甯�" />
+        </el-form-item>
+        <el-form-item label="閫佸線鎵�鍦ㄥ尯" prop="SendDistrict">
+          <el-input v-model="form.SendDistrict" placeholder="璇疯緭鍏ラ�佸線鎵�鍦ㄥ尯" />
+        </el-form-item>
+        <el-form-item label="棰勪及閲戦" prop="BookingPrice">
+          <el-input v-model="form.BookingPrice" placeholder="璇疯緭鍏ラ浼伴噾棰�" />
+        </el-form-item>
+        <el-form-item label="棰勭害鏃堕棿" prop="BookingDate">
+          <el-date-picker clearable
+            v-model="form.BookingDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨棰勭害鏃堕棿">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="澶囨敞" prop="Remark">
+          <el-input v-model="form.Remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label="鐥呬汉鎯呭喌" prop="Complaint">
+          <el-input v-model="form.Complaint" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label="浜烘暟" prop="PatientCount">
+          <el-input v-model="form.PatientCount" placeholder="璇疯緭鍏ヤ汉鏁�" />
+        </el-form-item>
+        <el-form-item label="棰勪及棰勭害鍏噷" prop="BookingKM">
+          <el-input v-model="form.BookingKM" placeholder="璇疯緭鍏ラ浼伴绾﹀叕閲�" />
+        </el-form-item>
+        <el-form-item label="鏅�氭姢閫侊紝鐩戞姢鎶ら��" prop="EscortCode">
+          <el-input v-model="form.EscortCode" placeholder="璇疯緭鍏ユ櫘閫氭姢閫侊紝鐩戞姢鎶ら��" />
+        </el-form-item>
+        <el-form-item label="姝ユ鎴栫數姊�" prop="LiftingCode">
+          <el-input v-model="form.LiftingCode" placeholder="璇疯緭鍏ユ姊垨鐢垫" />
+        </el-form-item>
+        <el-form-item label="妤煎眰" prop="LiftingFloor">
+          <el-input v-model="form.LiftingFloor" placeholder="璇疯緭鍏ユゼ灞�" />
+        </el-form-item>
+        <el-form-item label="鐩戞姢锛岄噸鐥�(鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪��)" prop="RequirementCode">
+          <el-input v-model="form.RequirementCode" placeholder="璇疯緭鍏ョ洃鎶わ紝閲嶇棁(鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪��)" />
+        </el-form-item>
+        <el-form-item label="杞繍绫诲瀷" prop="TypeCode">
+          <el-input v-model="form.TypeCode" placeholder="璇疯緭鍏ヨ浆杩愮被鍨�" />
+        </el-form-item>
+        <el-form-item label="绗笁鏂硅皟鐢ㄦ帴鍙h繑鍥炵粨鏋�,1-鎴愬姛锛�2-澶辫触" prop="ThirdPartyResult">
+          <el-input v-model="form.ThirdPartyResult" placeholder="璇疯緭鍏ョ涓夋柟璋冪敤鎺ュ彛杩斿洖缁撴灉,1-鎴愬姛锛�2-澶辫触" />
+        </el-form-item>
+        <el-form-item label="绗笁鏂规湇鍔D" prop="ServiceOrdID">
+          <el-input v-model="form.ServiceOrdID" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </el-form-item>
+        <el-form-item label="绗笁鏂规湇鍔″崟鍙�" prop="ServiceOrdNo">
+          <el-input v-model="form.ServiceOrdNo" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" />
+        </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 { listOrders, getOrders, delOrders, addOrders, updateOrders } from "@/api/system/orders";
+
+export default {
+  name: "Orders",
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // orders琛ㄦ牸鏁版嵁
+      ordersList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        LinkPerson: null,
+        LinkTel: null,
+        AlarmTel: null,
+        PatientName: null,
+        Sex: null,
+        Age: null,
+        Kg: null,
+        Sense: null,
+        LocalAddress: null,
+        LocalLongitude: null,
+        LocalLatitude: null,
+        LocalProvince: null,
+        LocalCity: null,
+        LocalDistrict: null,
+        SendAddress: null,
+        SendLongitude: null,
+        SendLatitude: null,
+        SendProvince: null,
+        SendCity: null,
+        SendDistrict: null,
+        BookingPrice: null,
+        BookingDate: null,
+        Remark: null,
+        Complaint: null,
+        PatientCount: null,
+        BookingKM: null,
+        EscortCode: null,
+        LiftingCode: null,
+        LiftingFloor: null,
+        RequirementCode: null,
+        TypeCode: null,
+        ThirdPartyResult: null,
+        ServiceOrdID: null,
+        ServiceOrdNo: null,
+        CreateTime: null,
+        UpdateTime: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 鏌ヨorders鍒楄〃 */
+    getList() {
+      this.loading = true;
+      listOrders(this.queryParams).then(response => {
+        this.ordersList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        OrderID: null,
+        LinkPerson: null,
+        LinkTel: null,
+        AlarmTel: null,
+        PatientName: null,
+        Sex: null,
+        Age: null,
+        Kg: null,
+        Sense: null,
+        LocalAddress: null,
+        LocalLongitude: null,
+        LocalLatitude: null,
+        LocalProvince: null,
+        LocalCity: null,
+        LocalDistrict: null,
+        SendAddress: null,
+        SendLongitude: null,
+        SendLatitude: null,
+        SendProvince: null,
+        SendCity: null,
+        SendDistrict: null,
+        BookingPrice: null,
+        BookingDate: null,
+        Remark: null,
+        Complaint: null,
+        PatientCount: null,
+        BookingKM: null,
+        EscortCode: null,
+        LiftingCode: null,
+        LiftingFloor: null,
+        RequirementCode: null,
+        TypeCode: null,
+        ThirdPartyResult: null,
+        ServiceOrdID: null,
+        ServiceOrdNo: null,
+        CreateTime: null,
+        UpdateTime: 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.OrderID)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞orders";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const OrderID = row.OrderID || this.ids
+      getOrders(OrderID).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼orders";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.OrderID != null) {
+            updateOrders(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addOrders(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const OrderIDs = row.OrderID || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎orders缂栧彿涓�"' + OrderIDs + '"鐨勬暟鎹」锛�').then(function() {
+        return delOrders(OrderIDs);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('system/orders/export', {
+        ...this.queryParams
+      }, `orders_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/sql/ordersMenu.sql b/sql/ordersMenu.sql
new file mode 100644
index 0000000..45a2131
--- /dev/null
+++ b/sql/ordersMenu.sql
@@ -0,0 +1,22 @@
+-- 鑿滃崟 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('璁㈠崟璁板綍', '2001', '1', 'orders', 'system/orders/index', 1, 0, 'C', '0', '0', 'system:orders:list', '#', 'admin', sysdate(), '', null, 'orders鑿滃崟');
+
+-- 鎸夐挳鐖惰彍鍗旾D
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 鎸夐挳 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('璁㈠崟璁板綍鏌ヨ', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'system:orders:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('璁㈠崟璁板綍鏂板', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'system:orders:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('璁㈠崟璁板綍淇敼', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'system:orders:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('璁㈠崟璁板綍鍒犻櫎', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'system:orders:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('璁㈠崟璁板綍瀵煎嚭', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'system:orders:export',       '#', 'admin', sysdate(), '', null, '');
\ No newline at end of file
diff --git a/sql/tb_orders.sql b/sql/tb_orders.sql
new file mode 100644
index 0000000..a2a320a
--- /dev/null
+++ b/sql/tb_orders.sql
@@ -0,0 +1,65 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : 966120
+ Source Server Type    : MySQL
+ Source Server Version : 50521 (5.5.21)
+ Source Host           : 120.25.98.119:3307
+ Source Schema         : ruoyi
+
+ Target Server Type    : MySQL
+ Target Server Version : 50521 (5.5.21)
+ File Encoding         : 65001
+
+ Date: 01/05/2025 11:46:45
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for tb_orders
+-- ----------------------------
+DROP TABLE IF EXISTS `tb_orders`;
+CREATE TABLE `tb_orders`  (
+  `OrderID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '骞夸氦鐨勮鍗� ID锛岀郴缁熷敮涓�鍒涘缓璁㈠崟',
+  `LinkPerson` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鑱旂郴浜�',
+  `LinkTel` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鑱旂郴鐢佃瘽',
+  `AlarmTel` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鍙楃悊鐢佃瘽,鏉ョ數鐢佃瘽',
+  `PatientName` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鎮h�呭鍚�',
+  `Sex` int(1) NULL DEFAULT NULL COMMENT '鎮h�呮�у埆',
+  `Age` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鎮h�呭勾榫�',
+  `Kg` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鎮h�呬綋閲�',
+  `Sense` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鎮h�呮湁鏃犳剰璇�',
+  `LocalAddress` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鐜板満鍦板潃',
+  `LocalLongitude` double NULL DEFAULT NULL COMMENT '鐜板満鍦板潃缁忓害锛堢洰鍓嶆槸 gcj02 鍧愭爣绯伙級',
+  `LocalLatitude` double NULL DEFAULT NULL COMMENT '鐜板満鍦板潃绾害',
+  `LocalProvince` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鐜板満鎵�鍦ㄧ渷',
+  `LocalCity` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鐜板満鎵�鍦ㄥ煄甯�',
+  `LocalDistrict` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '鐜板満鎵�鍦ㄥ尯',
+  `SendAddress` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '閫佸線鍦板潃',
+  `SendLongitude` double NULL DEFAULT NULL COMMENT '閫佸線缁忓害',
+  `SendLatitude` double NULL DEFAULT NULL COMMENT '閫佸線绾害',
+  `SendProvince` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '閫佸線鎵�鍦ㄧ渷',
+  `SendCity` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '閫佸線鎵�鍦ㄥ煄甯�',
+  `SendDistrict` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '閫佸線鎵�鍦ㄥ尯',
+  `BookingPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '棰勪及閲戦',
+  `BookingDate` datetime NULL DEFAULT NULL COMMENT '棰勭害鏃堕棿锛堟椂闂寸被鍨嬶紝绮剧‘鍒板皬鏃讹級',
+  `Remark` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT '澶囨敞',
+  `Complaint` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL COMMENT '鐥呬汉鎯呭喌',
+  `PatientCount` int(11) NULL DEFAULT NULL COMMENT '浜烘暟',
+  `BookingKM` double NULL DEFAULT NULL COMMENT '棰勪及棰勭害鍏噷',
+  `EscortCode` int(11) NULL DEFAULT NULL COMMENT '鏅�氭姢閫侊紝鐩戞姢鎶ら�侊紙鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪�硷級',
+  `LiftingCode` int(11) NULL DEFAULT NULL COMMENT '姝ユ鎴栫數姊�',
+  `LiftingFloor` int(11) NULL DEFAULT NULL COMMENT '妤煎眰',
+  `RequirementCode` int(11) NULL DEFAULT NULL COMMENT '鐩戞姢锛岄噸鐥�(鍙寜鐓х涓夋柟鐨勫瓧鍏告柊澧炴垨璧嬪��)',
+  `TypeCode` int(11) NULL DEFAULT NULL COMMENT '杞繍绫诲瀷锛堝競鍐咃紝甯傚锛岀渷澶栫瓑锛屽彲鎸夌収绗笁鏂圭殑瀛楀吀鏂板鎴栬祴鍊硷級',
+  `ThirdPartyResult` int(1) NULL DEFAULT NULL COMMENT '绗笁鏂硅皟鐢ㄦ帴鍙h繑鍥炵粨鏋�,1-鎴愬姛锛�2-澶辫触',
+  `ServiceOrdID` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '绗笁鏂规湇鍔D',
+  `ServiceOrdNo` varchar(500) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '绗笁鏂规湇鍔″崟鍙�',
+  `CreateTime` datetime NULL DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+  `UpdateTime` datetime NULL DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+  PRIMARY KEY (`OrderID`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = COMPACT;
+
+SET FOREIGN_KEY_CHECKS = 1;

--
Gitblit v1.9.1