Kaynağa Gözat

指派流程

qinyan 8 ay önce
ebeveyn
işleme
2c51758e60
30 değiştirilmiş dosya ile 2735 ekleme ve 64 silme
  1. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareAssignmentsController.java
  2. 10 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareHospitalController.java
  3. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareNurseClocksController.java
  4. 104 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareNurseRecordsController.java
  5. 11 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareNursesController.java
  6. 10 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CarePersonsController.java
  7. 29 0
      ruoyi-common/src/main/java/com/ruoyi/common/enums/CareApplyStatus.java
  8. 42 0
      ruoyi-system/src/main/java/com/ruoyi/care/domain/CareApplications.java
  9. 111 0
      ruoyi-system/src/main/java/com/ruoyi/care/domain/CareAssignments.java
  10. 111 0
      ruoyi-system/src/main/java/com/ruoyi/care/domain/CareNurseClocks.java
  11. 83 0
      ruoyi-system/src/main/java/com/ruoyi/care/domain/CareNurseRecords.java
  12. 61 0
      ruoyi-system/src/main/java/com/ruoyi/care/mapper/CareAssignmentsMapper.java
  13. 61 0
      ruoyi-system/src/main/java/com/ruoyi/care/mapper/CareNurseClocksMapper.java
  14. 61 0
      ruoyi-system/src/main/java/com/ruoyi/care/mapper/CareNurseRecordsMapper.java
  15. 61 0
      ruoyi-system/src/main/java/com/ruoyi/care/service/ICareAssignmentsService.java
  16. 61 0
      ruoyi-system/src/main/java/com/ruoyi/care/service/ICareNurseClocksService.java
  17. 61 0
      ruoyi-system/src/main/java/com/ruoyi/care/service/ICareNurseRecordsService.java
  18. 96 0
      ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareAssignmentsServiceImpl.java
  19. 96 0
      ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareNurseClocksServiceImpl.java
  20. 96 0
      ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareNurseRecordsServiceImpl.java
  21. 46 14
      ruoyi-system/src/main/resources/mapper/care/CareApplicationsMapper.xml
  22. 95 0
      ruoyi-system/src/main/resources/mapper/care/CareAssignmentsMapper.xml
  23. 95 0
      ruoyi-system/src/main/resources/mapper/care/CareNurseClocksMapper.xml
  24. 85 0
      ruoyi-system/src/main/resources/mapper/care/CareNurseRecordsMapper.xml
  25. 9 0
      ruoyi-vue/src/api/care/hospital.js
  26. 9 0
      ruoyi-vue/src/api/care/nurses.js
  27. 8 0
      ruoyi-vue/src/api/care/persons.js
  28. 92 50
      ruoyi-vue/src/views/care/applications/index.vue
  29. 371 0
      ruoyi-vue/src/views/care/applications/index_wait_assign.vue
  30. 552 0
      ruoyi-vue/src/views/care/applications/index_wait_check.vue

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareAssignmentsController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.care;
+
+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.care.domain.CareAssignments;
+import com.ruoyi.care.service.ICareAssignmentsService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 业务务指派Controller
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+@RestController
+@RequestMapping("/care/assignments")
+public class CareAssignmentsController extends BaseController
+{
+    @Autowired
+    private ICareAssignmentsService careAssignmentsService;
+
+    /**
+     * 查询业务务指派列表
+     */
+    @PreAuthorize("@ss.hasPermi('care:assignments:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CareAssignments careAssignments)
+    {
+        startPage();
+        List<CareAssignments> list = careAssignmentsService.selectCareAssignmentsList(careAssignments);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出业务务指派列表
+     */
+    @PreAuthorize("@ss.hasPermi('care:assignments:export')")
+    @Log(title = "业务务指派", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CareAssignments careAssignments)
+    {
+        List<CareAssignments> list = careAssignmentsService.selectCareAssignmentsList(careAssignments);
+        ExcelUtil<CareAssignments> util = new ExcelUtil<CareAssignments>(CareAssignments.class);
+        util.exportExcel(response, list, "业务务指派数据");
+    }
+
+    /**
+     * 获取业务务指派详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('care:assignments:query')")
+    @GetMapping(value = "/{assignId}")
+    public AjaxResult getInfo(@PathVariable("assignId") Long assignId)
+    {
+        return success(careAssignmentsService.selectCareAssignmentsByAssignId(assignId));
+    }
+
+    /**
+     * 新增业务务指派
+     */
+    @PreAuthorize("@ss.hasPermi('care:assignments:add')")
+    @Log(title = "业务务指派", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CareAssignments careAssignments)
+    {
+        return toAjax(careAssignmentsService.insertCareAssignments(careAssignments));
+    }
+
+    /**
+     * 修改业务务指派
+     */
+    @PreAuthorize("@ss.hasPermi('care:assignments:edit')")
+    @Log(title = "业务务指派", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CareAssignments careAssignments)
+    {
+        return toAjax(careAssignmentsService.updateCareAssignments(careAssignments));
+    }
+
+    /**
+     * 删除业务务指派
+     */
+    @PreAuthorize("@ss.hasPermi('care:assignments:remove')")
+    @Log(title = "业务务指派", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{assignIds}")
+    public AjaxResult remove(@PathVariable Long[] assignIds)
+    {
+        return toAjax(careAssignmentsService.deleteCareAssignmentsByAssignIds(assignIds));
+    }
+}

+ 10 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareHospitalController.java

@@ -101,4 +101,14 @@ public class CareHospitalController extends BaseController
     {
         return toAjax(careHospitalService.deleteCareHospitalByHospitalIds(hospitalIds));
     }
+
+    /**
+     * 查询所有医院列表
+     */
+    @GetMapping("/listAll")
+    public List<CareHospital> listAll(CareHospital careHospital)
+    {
+        List<CareHospital> list = careHospitalService.selectCareHospitalList(careHospital);
+        return list;
+    }
 }

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareNurseClocksController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.care;
+
+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.care.domain.CareNurseClocks;
+import com.ruoyi.care.service.ICareNurseClocksService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 护理任务打卡Controller
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+@RestController
+@RequestMapping("/care/clocks")
+public class CareNurseClocksController extends BaseController
+{
+    @Autowired
+    private ICareNurseClocksService careNurseClocksService;
+
+    /**
+     * 查询护理任务打卡列表
+     */
+    @PreAuthorize("@ss.hasPermi('care:clocks:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CareNurseClocks careNurseClocks)
+    {
+        startPage();
+        List<CareNurseClocks> list = careNurseClocksService.selectCareNurseClocksList(careNurseClocks);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出护理任务打卡列表
+     */
+    @PreAuthorize("@ss.hasPermi('care:clocks:export')")
+    @Log(title = "护理任务打卡", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CareNurseClocks careNurseClocks)
+    {
+        List<CareNurseClocks> list = careNurseClocksService.selectCareNurseClocksList(careNurseClocks);
+        ExcelUtil<CareNurseClocks> util = new ExcelUtil<CareNurseClocks>(CareNurseClocks.class);
+        util.exportExcel(response, list, "护理任务打卡数据");
+    }
+
+    /**
+     * 获取护理任务打卡详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('care:clocks:query')")
+    @GetMapping(value = "/{clockId}")
+    public AjaxResult getInfo(@PathVariable("clockId") Long clockId)
+    {
+        return success(careNurseClocksService.selectCareNurseClocksByClockId(clockId));
+    }
+
+    /**
+     * 新增护理任务打卡
+     */
+    @PreAuthorize("@ss.hasPermi('care:clocks:add')")
+    @Log(title = "护理任务打卡", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CareNurseClocks careNurseClocks)
+    {
+        return toAjax(careNurseClocksService.insertCareNurseClocks(careNurseClocks));
+    }
+
+    /**
+     * 修改护理任务打卡
+     */
+    @PreAuthorize("@ss.hasPermi('care:clocks:edit')")
+    @Log(title = "护理任务打卡", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CareNurseClocks careNurseClocks)
+    {
+        return toAjax(careNurseClocksService.updateCareNurseClocks(careNurseClocks));
+    }
+
+    /**
+     * 删除护理任务打卡
+     */
+    @PreAuthorize("@ss.hasPermi('care:clocks:remove')")
+    @Log(title = "护理任务打卡", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{clockIds}")
+    public AjaxResult remove(@PathVariable Long[] clockIds)
+    {
+        return toAjax(careNurseClocksService.deleteCareNurseClocksByClockIds(clockIds));
+    }
+}

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareNurseRecordsController.java

@@ -0,0 +1,104 @@
+package com.ruoyi.web.controller.care;
+
+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.care.domain.CareNurseRecords;
+import com.ruoyi.care.service.ICareNurseRecordsService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 护理任务记录Controller
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+@RestController
+@RequestMapping("/care/records")
+public class CareNurseRecordsController extends BaseController
+{
+    @Autowired
+    private ICareNurseRecordsService careNurseRecordsService;
+
+    /**
+     * 查询护理任务记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('care:records:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CareNurseRecords careNurseRecords)
+    {
+        startPage();
+        List<CareNurseRecords> list = careNurseRecordsService.selectCareNurseRecordsList(careNurseRecords);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出护理任务记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('care:records:export')")
+    @Log(title = "护理任务记录", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CareNurseRecords careNurseRecords)
+    {
+        List<CareNurseRecords> list = careNurseRecordsService.selectCareNurseRecordsList(careNurseRecords);
+        ExcelUtil<CareNurseRecords> util = new ExcelUtil<CareNurseRecords>(CareNurseRecords.class);
+        util.exportExcel(response, list, "护理任务记录数据");
+    }
+
+    /**
+     * 获取护理任务记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('care:records:query')")
+    @GetMapping(value = "/{nursingRecordId}")
+    public AjaxResult getInfo(@PathVariable("nursingRecordId") Long nursingRecordId)
+    {
+        return success(careNurseRecordsService.selectCareNurseRecordsByNursingRecordId(nursingRecordId));
+    }
+
+    /**
+     * 新增护理任务记录
+     */
+    @PreAuthorize("@ss.hasPermi('care:records:add')")
+    @Log(title = "护理任务记录", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CareNurseRecords careNurseRecords)
+    {
+        return toAjax(careNurseRecordsService.insertCareNurseRecords(careNurseRecords));
+    }
+
+    /**
+     * 修改护理任务记录
+     */
+    @PreAuthorize("@ss.hasPermi('care:records:edit')")
+    @Log(title = "护理任务记录", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CareNurseRecords careNurseRecords)
+    {
+        return toAjax(careNurseRecordsService.updateCareNurseRecords(careNurseRecords));
+    }
+
+    /**
+     * 删除护理任务记录
+     */
+    @PreAuthorize("@ss.hasPermi('care:records:remove')")
+    @Log(title = "护理任务记录", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{nursingRecordIds}")
+    public AjaxResult remove(@PathVariable Long[] nursingRecordIds)
+    {
+        return toAjax(careNurseRecordsService.deleteCareNurseRecordsByNursingRecordIds(nursingRecordIds));
+    }
+}

+ 11 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CareNursesController.java

@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.care;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.care.domain.CareCompanies;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.system.service.ISysUserService;
@@ -51,6 +52,16 @@ public class CareNursesController extends BaseController
         return getDataTable(list);
     }
 
+    /**
+     * 获取所有的护理人员信息
+     */
+    @GetMapping("/listAll")
+    public List<CareNurses> listAll(CareNurses careCompanies)
+    {
+        List<CareNurses> list = careNursesService.selectCareNursesList(careCompanies);
+        return list;
+    }
+
     /**
      * 导出护理人员列表
      */

+ 10 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/care/CarePersonsController.java

@@ -101,4 +101,14 @@ public class CarePersonsController extends BaseController
     {
         return toAjax(carePersonsService.deleteCarePersonsByPersonIds(personIds));
     }
+
+    /**
+     * 查询所有特困人员列表
+     */
+    @GetMapping("/listAll")
+    public List<CarePersons> listAll(CarePersons carePersons)
+    {
+        List<CarePersons> list = carePersonsService.selectCarePersonsList(carePersons);
+        return list;
+    }
 }

+ 29 - 0
ruoyi-common/src/main/java/com/ruoyi/common/enums/CareApplyStatus.java

@@ -0,0 +1,29 @@
+package com.ruoyi.common.enums;
+
+/**
+ * 用户状态
+ *
+ * @author ruoyi
+ */
+public enum CareApplyStatus
+{
+    WAITCHECK("wait_check"),//待审核
+    AGREE("agree"),//同意
+    DISAGREE("disagree"),//不同意
+    WAITASSIGN("wait_assign"),//待指派
+    ASSIGNED("assigned");//已指派
+
+    private final String code;
+
+    CareApplyStatus(String code)
+    {
+        this.code = code;
+    }
+
+    public String getCode()
+    {
+        return code;
+    }
+
+}
+

+ 42 - 0
ruoyi-system/src/main/java/com/ruoyi/care/domain/CareApplications.java

@@ -66,6 +66,48 @@ public class CareApplications extends BaseEntity
     @Excel(name = "审核原因")
     private String auditReason;
 
+    /** 护理公司id及护理人员id */
+    private Long companyId;
+
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
+    public Long getNurseId() {
+        return nurseId;
+    }
+
+    public void setNurseId(Long nurseId) {
+        this.nurseId = nurseId;
+    }
+
+    private Long nurseId;
+    /** 护理人姓名 */
+    private String nurseName;
+
+    public String getNurseName() {
+        return nurseName;
+    }
+
+    public void setNurseName(String nurseName) {
+        this.nurseName = nurseName;
+    }
+
+    public String getHospitalName() {
+        return hospitalName;
+    }
+
+    public void setHospitalName(String hospitalName) {
+        this.hospitalName = hospitalName;
+    }
+
+    /** 护理人所在公司 */
+    private String hospitalName;
+
     /** 删除标志(0代表存在 2代表删除) */
     private String delFlag;
 

+ 111 - 0
ruoyi-system/src/main/java/com/ruoyi/care/domain/CareAssignments.java

@@ -0,0 +1,111 @@
+package com.ruoyi.care.domain;
+
+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;
+
+/**
+ * 业务务指派对象 care_assignments
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public class CareAssignments extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 业务务指派唯一标志 */
+    private Long assignId;
+
+    /** 护理业务数据数据标志 */
+    @Excel(name = "护理业务数据数据标志")
+    private Long applyId;
+
+    /** 护理公司数据id */
+    @Excel(name = "护理公司数据id")
+    private Long companyId;
+
+    /** 护理人员 */
+    @Excel(name = "护理人员")
+    private Long nurseId;
+
+    /** 护理要求 */
+    @Excel(name = "护理要求")
+    private String careRequirements;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    public void setAssignId(Long assignId) 
+    {
+        this.assignId = assignId;
+    }
+
+    public Long getAssignId() 
+    {
+        return assignId;
+    }
+    public void setApplyId(Long applyId) 
+    {
+        this.applyId = applyId;
+    }
+
+    public Long getApplyId() 
+    {
+        return applyId;
+    }
+    public void setCompanyId(Long companyId) 
+    {
+        this.companyId = companyId;
+    }
+
+    public Long getCompanyId() 
+    {
+        return companyId;
+    }
+    public void setNurseId(Long nurseId) 
+    {
+        this.nurseId = nurseId;
+    }
+
+    public Long getNurseId() 
+    {
+        return nurseId;
+    }
+    public void setCareRequirements(String careRequirements) 
+    {
+        this.careRequirements = careRequirements;
+    }
+
+    public String getCareRequirements() 
+    {
+        return careRequirements;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("assignId", getAssignId())
+            .append("applyId", getApplyId())
+            .append("companyId", getCompanyId())
+            .append("nurseId", getNurseId())
+            .append("careRequirements", getCareRequirements())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 111 - 0
ruoyi-system/src/main/java/com/ruoyi/care/domain/CareNurseClocks.java

@@ -0,0 +1,111 @@
+package com.ruoyi.care.domain;
+
+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;
+
+/**
+ * 护理任务打卡对象 care_nurse_clocks
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public class CareNurseClocks extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 护理任务打卡表的唯一标识符 */
+    private Long clockId;
+
+    /** 护理任务记录表id */
+    @Excel(name = "护理任务记录表id")
+    private Long nursingRecordId;
+
+    /** 护理时间 */
+    @Excel(name = "护理时间")
+    private String nursingTime;
+
+    /** 图片路径 */
+    @Excel(name = "图片路径")
+    private String imgPaths;
+
+    /** 图片数量 */
+    @Excel(name = "图片数量")
+    private Long imgNum;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    public void setClockId(Long clockId) 
+    {
+        this.clockId = clockId;
+    }
+
+    public Long getClockId() 
+    {
+        return clockId;
+    }
+    public void setNursingRecordId(Long nursingRecordId) 
+    {
+        this.nursingRecordId = nursingRecordId;
+    }
+
+    public Long getNursingRecordId() 
+    {
+        return nursingRecordId;
+    }
+    public void setNursingTime(String nursingTime) 
+    {
+        this.nursingTime = nursingTime;
+    }
+
+    public String getNursingTime() 
+    {
+        return nursingTime;
+    }
+    public void setImgPaths(String imgPaths) 
+    {
+        this.imgPaths = imgPaths;
+    }
+
+    public String getImgPaths() 
+    {
+        return imgPaths;
+    }
+    public void setImgNum(Long imgNum) 
+    {
+        this.imgNum = imgNum;
+    }
+
+    public Long getImgNum() 
+    {
+        return imgNum;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("clockId", getClockId())
+            .append("nursingRecordId", getNursingRecordId())
+            .append("nursingTime", getNursingTime())
+            .append("imgPaths", getImgPaths())
+            .append("imgNum", getImgNum())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 83 - 0
ruoyi-system/src/main/java/com/ruoyi/care/domain/CareNurseRecords.java

@@ -0,0 +1,83 @@
+package com.ruoyi.care.domain;
+
+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;
+
+/**
+ * 护理任务记录对象 care_nurse_records
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public class CareNurseRecords extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 护理任务记录表的唯一标识符 */
+    private Long nursingRecordId;
+
+    /** 护理业务数据id */
+    @Excel(name = "护理业务数据id")
+    private Long applyId;
+
+    /** 护理日期 */
+    @Excel(name = "护理日期")
+    private String nursingTime;
+
+    /** 删除标志(0代表存在 2代表删除) */
+    private String delFlag;
+
+    public void setNursingRecordId(Long nursingRecordId) 
+    {
+        this.nursingRecordId = nursingRecordId;
+    }
+
+    public Long getNursingRecordId() 
+    {
+        return nursingRecordId;
+    }
+    public void setApplyId(Long applyId) 
+    {
+        this.applyId = applyId;
+    }
+
+    public Long getApplyId() 
+    {
+        return applyId;
+    }
+    public void setNursingTime(String nursingTime) 
+    {
+        this.nursingTime = nursingTime;
+    }
+
+    public String getNursingTime() 
+    {
+        return nursingTime;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("nursingRecordId", getNursingRecordId())
+            .append("applyId", getApplyId())
+            .append("nursingTime", getNursingTime())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/care/mapper/CareAssignmentsMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.care.mapper;
+
+import java.util.List;
+import com.ruoyi.care.domain.CareAssignments;
+
+/**
+ * 业务务指派Mapper接口
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public interface CareAssignmentsMapper 
+{
+    /**
+     * 查询业务务指派
+     * 
+     * @param assignId 业务务指派主键
+     * @return 业务务指派
+     */
+    public CareAssignments selectCareAssignmentsByAssignId(Long assignId);
+
+    /**
+     * 查询业务务指派列表
+     * 
+     * @param careAssignments 业务务指派
+     * @return 业务务指派集合
+     */
+    public List<CareAssignments> selectCareAssignmentsList(CareAssignments careAssignments);
+
+    /**
+     * 新增业务务指派
+     * 
+     * @param careAssignments 业务务指派
+     * @return 结果
+     */
+    public int insertCareAssignments(CareAssignments careAssignments);
+
+    /**
+     * 修改业务务指派
+     * 
+     * @param careAssignments 业务务指派
+     * @return 结果
+     */
+    public int updateCareAssignments(CareAssignments careAssignments);
+
+    /**
+     * 删除业务务指派
+     * 
+     * @param assignId 业务务指派主键
+     * @return 结果
+     */
+    public int deleteCareAssignmentsByAssignId(Long assignId);
+
+    /**
+     * 批量删除业务务指派
+     * 
+     * @param assignIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCareAssignmentsByAssignIds(Long[] assignIds);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/care/mapper/CareNurseClocksMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.care.mapper;
+
+import java.util.List;
+import com.ruoyi.care.domain.CareNurseClocks;
+
+/**
+ * 护理任务打卡Mapper接口
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public interface CareNurseClocksMapper 
+{
+    /**
+     * 查询护理任务打卡
+     * 
+     * @param clockId 护理任务打卡主键
+     * @return 护理任务打卡
+     */
+    public CareNurseClocks selectCareNurseClocksByClockId(Long clockId);
+
+    /**
+     * 查询护理任务打卡列表
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 护理任务打卡集合
+     */
+    public List<CareNurseClocks> selectCareNurseClocksList(CareNurseClocks careNurseClocks);
+
+    /**
+     * 新增护理任务打卡
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 结果
+     */
+    public int insertCareNurseClocks(CareNurseClocks careNurseClocks);
+
+    /**
+     * 修改护理任务打卡
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 结果
+     */
+    public int updateCareNurseClocks(CareNurseClocks careNurseClocks);
+
+    /**
+     * 删除护理任务打卡
+     * 
+     * @param clockId 护理任务打卡主键
+     * @return 结果
+     */
+    public int deleteCareNurseClocksByClockId(Long clockId);
+
+    /**
+     * 批量删除护理任务打卡
+     * 
+     * @param clockIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCareNurseClocksByClockIds(Long[] clockIds);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/care/mapper/CareNurseRecordsMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.care.mapper;
+
+import java.util.List;
+import com.ruoyi.care.domain.CareNurseRecords;
+
+/**
+ * 护理任务记录Mapper接口
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public interface CareNurseRecordsMapper 
+{
+    /**
+     * 查询护理任务记录
+     * 
+     * @param nursingRecordId 护理任务记录主键
+     * @return 护理任务记录
+     */
+    public CareNurseRecords selectCareNurseRecordsByNursingRecordId(Long nursingRecordId);
+
+    /**
+     * 查询护理任务记录列表
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 护理任务记录集合
+     */
+    public List<CareNurseRecords> selectCareNurseRecordsList(CareNurseRecords careNurseRecords);
+
+    /**
+     * 新增护理任务记录
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 结果
+     */
+    public int insertCareNurseRecords(CareNurseRecords careNurseRecords);
+
+    /**
+     * 修改护理任务记录
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 结果
+     */
+    public int updateCareNurseRecords(CareNurseRecords careNurseRecords);
+
+    /**
+     * 删除护理任务记录
+     * 
+     * @param nursingRecordId 护理任务记录主键
+     * @return 结果
+     */
+    public int deleteCareNurseRecordsByNursingRecordId(Long nursingRecordId);
+
+    /**
+     * 批量删除护理任务记录
+     * 
+     * @param nursingRecordIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteCareNurseRecordsByNursingRecordIds(Long[] nursingRecordIds);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/ICareAssignmentsService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.care.service;
+
+import java.util.List;
+import com.ruoyi.care.domain.CareAssignments;
+
+/**
+ * 业务务指派Service接口
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public interface ICareAssignmentsService 
+{
+    /**
+     * 查询业务务指派
+     * 
+     * @param assignId 业务务指派主键
+     * @return 业务务指派
+     */
+    public CareAssignments selectCareAssignmentsByAssignId(Long assignId);
+
+    /**
+     * 查询业务务指派列表
+     * 
+     * @param careAssignments 业务务指派
+     * @return 业务务指派集合
+     */
+    public List<CareAssignments> selectCareAssignmentsList(CareAssignments careAssignments);
+
+    /**
+     * 新增业务务指派
+     * 
+     * @param careAssignments 业务务指派
+     * @return 结果
+     */
+    public int insertCareAssignments(CareAssignments careAssignments);
+
+    /**
+     * 修改业务务指派
+     * 
+     * @param careAssignments 业务务指派
+     * @return 结果
+     */
+    public int updateCareAssignments(CareAssignments careAssignments);
+
+    /**
+     * 批量删除业务务指派
+     * 
+     * @param assignIds 需要删除的业务务指派主键集合
+     * @return 结果
+     */
+    public int deleteCareAssignmentsByAssignIds(Long[] assignIds);
+
+    /**
+     * 删除业务务指派信息
+     * 
+     * @param assignId 业务务指派主键
+     * @return 结果
+     */
+    public int deleteCareAssignmentsByAssignId(Long assignId);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/ICareNurseClocksService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.care.service;
+
+import java.util.List;
+import com.ruoyi.care.domain.CareNurseClocks;
+
+/**
+ * 护理任务打卡Service接口
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public interface ICareNurseClocksService 
+{
+    /**
+     * 查询护理任务打卡
+     * 
+     * @param clockId 护理任务打卡主键
+     * @return 护理任务打卡
+     */
+    public CareNurseClocks selectCareNurseClocksByClockId(Long clockId);
+
+    /**
+     * 查询护理任务打卡列表
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 护理任务打卡集合
+     */
+    public List<CareNurseClocks> selectCareNurseClocksList(CareNurseClocks careNurseClocks);
+
+    /**
+     * 新增护理任务打卡
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 结果
+     */
+    public int insertCareNurseClocks(CareNurseClocks careNurseClocks);
+
+    /**
+     * 修改护理任务打卡
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 结果
+     */
+    public int updateCareNurseClocks(CareNurseClocks careNurseClocks);
+
+    /**
+     * 批量删除护理任务打卡
+     * 
+     * @param clockIds 需要删除的护理任务打卡主键集合
+     * @return 结果
+     */
+    public int deleteCareNurseClocksByClockIds(Long[] clockIds);
+
+    /**
+     * 删除护理任务打卡信息
+     * 
+     * @param clockId 护理任务打卡主键
+     * @return 结果
+     */
+    public int deleteCareNurseClocksByClockId(Long clockId);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/ICareNurseRecordsService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.care.service;
+
+import java.util.List;
+import com.ruoyi.care.domain.CareNurseRecords;
+
+/**
+ * 护理任务记录Service接口
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+public interface ICareNurseRecordsService 
+{
+    /**
+     * 查询护理任务记录
+     * 
+     * @param nursingRecordId 护理任务记录主键
+     * @return 护理任务记录
+     */
+    public CareNurseRecords selectCareNurseRecordsByNursingRecordId(Long nursingRecordId);
+
+    /**
+     * 查询护理任务记录列表
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 护理任务记录集合
+     */
+    public List<CareNurseRecords> selectCareNurseRecordsList(CareNurseRecords careNurseRecords);
+
+    /**
+     * 新增护理任务记录
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 结果
+     */
+    public int insertCareNurseRecords(CareNurseRecords careNurseRecords);
+
+    /**
+     * 修改护理任务记录
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 结果
+     */
+    public int updateCareNurseRecords(CareNurseRecords careNurseRecords);
+
+    /**
+     * 批量删除护理任务记录
+     * 
+     * @param nursingRecordIds 需要删除的护理任务记录主键集合
+     * @return 结果
+     */
+    public int deleteCareNurseRecordsByNursingRecordIds(Long[] nursingRecordIds);
+
+    /**
+     * 删除护理任务记录信息
+     * 
+     * @param nursingRecordId 护理任务记录主键
+     * @return 结果
+     */
+    public int deleteCareNurseRecordsByNursingRecordId(Long nursingRecordId);
+}

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareAssignmentsServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.care.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.care.mapper.CareAssignmentsMapper;
+import com.ruoyi.care.domain.CareAssignments;
+import com.ruoyi.care.service.ICareAssignmentsService;
+
+/**
+ * 业务务指派Service业务层处理
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+@Service
+public class CareAssignmentsServiceImpl implements ICareAssignmentsService 
+{
+    @Autowired
+    private CareAssignmentsMapper careAssignmentsMapper;
+
+    /**
+     * 查询业务务指派
+     * 
+     * @param assignId 业务务指派主键
+     * @return 业务务指派
+     */
+    @Override
+    public CareAssignments selectCareAssignmentsByAssignId(Long assignId)
+    {
+        return careAssignmentsMapper.selectCareAssignmentsByAssignId(assignId);
+    }
+
+    /**
+     * 查询业务务指派列表
+     * 
+     * @param careAssignments 业务务指派
+     * @return 业务务指派
+     */
+    @Override
+    public List<CareAssignments> selectCareAssignmentsList(CareAssignments careAssignments)
+    {
+        return careAssignmentsMapper.selectCareAssignmentsList(careAssignments);
+    }
+
+    /**
+     * 新增业务务指派
+     * 
+     * @param careAssignments 业务务指派
+     * @return 结果
+     */
+    @Override
+    public int insertCareAssignments(CareAssignments careAssignments)
+    {
+        careAssignments.setCreateTime(DateUtils.getNowDate());
+        return careAssignmentsMapper.insertCareAssignments(careAssignments);
+    }
+
+    /**
+     * 修改业务务指派
+     * 
+     * @param careAssignments 业务务指派
+     * @return 结果
+     */
+    @Override
+    public int updateCareAssignments(CareAssignments careAssignments)
+    {
+        careAssignments.setUpdateTime(DateUtils.getNowDate());
+        return careAssignmentsMapper.updateCareAssignments(careAssignments);
+    }
+
+    /**
+     * 批量删除业务务指派
+     * 
+     * @param assignIds 需要删除的业务务指派主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCareAssignmentsByAssignIds(Long[] assignIds)
+    {
+        return careAssignmentsMapper.deleteCareAssignmentsByAssignIds(assignIds);
+    }
+
+    /**
+     * 删除业务务指派信息
+     * 
+     * @param assignId 业务务指派主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCareAssignmentsByAssignId(Long assignId)
+    {
+        return careAssignmentsMapper.deleteCareAssignmentsByAssignId(assignId);
+    }
+}

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareNurseClocksServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.care.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.care.mapper.CareNurseClocksMapper;
+import com.ruoyi.care.domain.CareNurseClocks;
+import com.ruoyi.care.service.ICareNurseClocksService;
+
+/**
+ * 护理任务打卡Service业务层处理
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+@Service
+public class CareNurseClocksServiceImpl implements ICareNurseClocksService 
+{
+    @Autowired
+    private CareNurseClocksMapper careNurseClocksMapper;
+
+    /**
+     * 查询护理任务打卡
+     * 
+     * @param clockId 护理任务打卡主键
+     * @return 护理任务打卡
+     */
+    @Override
+    public CareNurseClocks selectCareNurseClocksByClockId(Long clockId)
+    {
+        return careNurseClocksMapper.selectCareNurseClocksByClockId(clockId);
+    }
+
+    /**
+     * 查询护理任务打卡列表
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 护理任务打卡
+     */
+    @Override
+    public List<CareNurseClocks> selectCareNurseClocksList(CareNurseClocks careNurseClocks)
+    {
+        return careNurseClocksMapper.selectCareNurseClocksList(careNurseClocks);
+    }
+
+    /**
+     * 新增护理任务打卡
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 结果
+     */
+    @Override
+    public int insertCareNurseClocks(CareNurseClocks careNurseClocks)
+    {
+        careNurseClocks.setCreateTime(DateUtils.getNowDate());
+        return careNurseClocksMapper.insertCareNurseClocks(careNurseClocks);
+    }
+
+    /**
+     * 修改护理任务打卡
+     * 
+     * @param careNurseClocks 护理任务打卡
+     * @return 结果
+     */
+    @Override
+    public int updateCareNurseClocks(CareNurseClocks careNurseClocks)
+    {
+        careNurseClocks.setUpdateTime(DateUtils.getNowDate());
+        return careNurseClocksMapper.updateCareNurseClocks(careNurseClocks);
+    }
+
+    /**
+     * 批量删除护理任务打卡
+     * 
+     * @param clockIds 需要删除的护理任务打卡主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCareNurseClocksByClockIds(Long[] clockIds)
+    {
+        return careNurseClocksMapper.deleteCareNurseClocksByClockIds(clockIds);
+    }
+
+    /**
+     * 删除护理任务打卡信息
+     * 
+     * @param clockId 护理任务打卡主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCareNurseClocksByClockId(Long clockId)
+    {
+        return careNurseClocksMapper.deleteCareNurseClocksByClockId(clockId);
+    }
+}

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/care/service/impl/CareNurseRecordsServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.care.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.care.mapper.CareNurseRecordsMapper;
+import com.ruoyi.care.domain.CareNurseRecords;
+import com.ruoyi.care.service.ICareNurseRecordsService;
+
+/**
+ * 护理任务记录Service业务层处理
+ * 
+ * @author qy
+ * @date 2024-11-26
+ */
+@Service
+public class CareNurseRecordsServiceImpl implements ICareNurseRecordsService 
+{
+    @Autowired
+    private CareNurseRecordsMapper careNurseRecordsMapper;
+
+    /**
+     * 查询护理任务记录
+     * 
+     * @param nursingRecordId 护理任务记录主键
+     * @return 护理任务记录
+     */
+    @Override
+    public CareNurseRecords selectCareNurseRecordsByNursingRecordId(Long nursingRecordId)
+    {
+        return careNurseRecordsMapper.selectCareNurseRecordsByNursingRecordId(nursingRecordId);
+    }
+
+    /**
+     * 查询护理任务记录列表
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 护理任务记录
+     */
+    @Override
+    public List<CareNurseRecords> selectCareNurseRecordsList(CareNurseRecords careNurseRecords)
+    {
+        return careNurseRecordsMapper.selectCareNurseRecordsList(careNurseRecords);
+    }
+
+    /**
+     * 新增护理任务记录
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 结果
+     */
+    @Override
+    public int insertCareNurseRecords(CareNurseRecords careNurseRecords)
+    {
+        careNurseRecords.setCreateTime(DateUtils.getNowDate());
+        return careNurseRecordsMapper.insertCareNurseRecords(careNurseRecords);
+    }
+
+    /**
+     * 修改护理任务记录
+     * 
+     * @param careNurseRecords 护理任务记录
+     * @return 结果
+     */
+    @Override
+    public int updateCareNurseRecords(CareNurseRecords careNurseRecords)
+    {
+        careNurseRecords.setUpdateTime(DateUtils.getNowDate());
+        return careNurseRecordsMapper.updateCareNurseRecords(careNurseRecords);
+    }
+
+    /**
+     * 批量删除护理任务记录
+     * 
+     * @param nursingRecordIds 需要删除的护理任务记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCareNurseRecordsByNursingRecordIds(Long[] nursingRecordIds)
+    {
+        return careNurseRecordsMapper.deleteCareNurseRecordsByNursingRecordIds(nursingRecordIds);
+    }
+
+    /**
+     * 删除护理任务记录信息
+     * 
+     * @param nursingRecordId 护理任务记录主键
+     * @return 结果
+     */
+    @Override
+    public int deleteCareNurseRecordsByNursingRecordId(Long nursingRecordId)
+    {
+        return careNurseRecordsMapper.deleteCareNurseRecordsByNursingRecordId(nursingRecordId);
+    }
+}

+ 46 - 14
ruoyi-system/src/main/resources/mapper/care/CareApplicationsMapper.xml

@@ -24,33 +24,65 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateBy"    column="update_by"    />
         <result property="updateTime"    column="update_time"    />
         <result property="remark"    column="remark"    />
+        <result property="nurseName"    column="nurse_name"    />
+        <result property="hospitalName"    column="hospital_name"    />
+        <result property="companyId"    column="company_id"    />
+        <result property="nurseId"    column="nurse_id"    />
     </resultMap>
 
     <sql id="selectCareApplicationsVo">
-        select apply_id, person_id, person_name, care_needs, nurse_gender, hospital, address, care_days, apply_date, status, deal_status, pay_status, audit_reason, del_flag, create_by, create_time, update_by, update_time, remark from care_applications
+        SELECT
+            a.apply_id,
+            a.person_id,
+            a.person_name,
+            a.care_needs,
+            a.nurse_gender,
+            a.hospital,
+            a.address,
+            a.care_days,
+            a.apply_date,
+            a.STATUS,
+            a.deal_status,
+            a.pay_status,
+            a.audit_reason,
+            a.del_flag,
+            a.create_by,
+            a.create_time,
+            a.update_by,
+            a.update_time,
+            a.remark,
+            s.company_id,
+            n.nurse_id,
+            n.name nurse_name,
+            h.`name` hospital_name
+        FROM
+            care_applications a
+                LEFT JOIN care_assignments s on a.apply_id=s.apply_id
+                LEFT JOIN care_nurses n on n.nurse_id=s.apply_id
+                LEFT JOIN care_hospital h on h.hospital_id=s.company_id
     </sql>
 
     <select id="selectCareApplicationsList" parameterType="CareApplications" resultMap="CareApplicationsResult">
         <include refid="selectCareApplicationsVo"/>
         <where>  
-            <if test="personId != null "> and person_id = #{personId}</if>
-            <if test="personName != null  and personName != ''"> and person_name like concat('%', #{personName}, '%')</if>
-            <if test="careNeeds != null  and careNeeds != ''"> and care_needs = #{careNeeds}</if>
-            <if test="nurseGender != null  and nurseGender != ''"> and nurse_gender = #{nurseGender}</if>
-            <if test="hospital != null  and hospital != ''"> and hospital = #{hospital}</if>
-            <if test="address != null  and address != ''"> and address = #{address}</if>
-            <if test="careDays != null  and careDays != ''"> and care_days = #{careDays}</if>
-            <if test="applyDate != null  and applyDate != ''"> and apply_date = #{applyDate}</if>
-            <if test="status != null  and status != ''"> and status = #{status}</if>
-            <if test="dealStatus != null  and dealStatus != ''"> and deal_status = #{dealStatus}</if>
-            <if test="payStatus != null  and payStatus != ''"> and pay_status = #{payStatus}</if>
-            <if test="auditReason != null  and auditReason != ''"> and audit_reason = #{auditReason}</if>
+            <if test="personId != null "> and a.person_id = #{personId}</if>
+            <if test="personName != null  and personName != ''"> and a.person_name like concat('%', #{personName}, '%')</if>
+            <if test="careNeeds != null  and careNeeds != ''"> and a.care_needs = #{careNeeds}</if>
+            <if test="nurseGender != null  and nurseGender != ''"> and a.nurse_gender = #{nurseGender}</if>
+            <if test="hospital != null  and hospital != ''"> and a.hospital = #{hospital}</if>
+            <if test="address != null  and address != ''"> and a.address = #{address}</if>
+            <if test="careDays != null  and careDays != ''"> and a.care_days = #{careDays}</if>
+            <if test="applyDate != null  and applyDate != ''"> and a.apply_date = #{applyDate}</if>
+            <if test="status != null  and status != ''"> and a.status = #{status}</if>
+            <if test="dealStatus != null  and dealStatus != ''"> and a.deal_status = #{dealStatus}</if>
+            <if test="payStatus != null  and payStatus != ''"> and a.pay_status = #{payStatus}</if>
+            <if test="auditReason != null  and auditReason != ''"> and a.audit_reason = #{auditReason}</if>
         </where>
     </select>
     
     <select id="selectCareApplicationsByApplyId" parameterType="Long" resultMap="CareApplicationsResult">
         <include refid="selectCareApplicationsVo"/>
-        where apply_id = #{applyId}
+        where a.apply_id = #{applyId}
     </select>
 
     <insert id="insertCareApplications" parameterType="CareApplications" useGeneratedKeys="true" keyProperty="applyId">

+ 95 - 0
ruoyi-system/src/main/resources/mapper/care/CareAssignmentsMapper.xml

@@ -0,0 +1,95 @@
+<?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.care.mapper.CareAssignmentsMapper">
+    
+    <resultMap type="CareAssignments" id="CareAssignmentsResult">
+        <result property="assignId"    column="assign_id"    />
+        <result property="applyId"    column="apply_id"    />
+        <result property="companyId"    column="company_id"    />
+        <result property="nurseId"    column="nurse_id"    />
+        <result property="careRequirements"    column="care_requirements"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectCareAssignmentsVo">
+        select assign_id, apply_id, company_id, nurse_id, care_requirements, del_flag, create_by, create_time, update_by, update_time, remark from care_assignments
+    </sql>
+
+    <select id="selectCareAssignmentsList" parameterType="CareAssignments" resultMap="CareAssignmentsResult">
+        <include refid="selectCareAssignmentsVo"/>
+        <where>  
+            <if test="applyId != null "> and apply_id = #{applyId}</if>
+            <if test="companyId != null "> and company_id = #{companyId}</if>
+            <if test="nurseId != null "> and nurse_id = #{nurseId}</if>
+            <if test="careRequirements != null  and careRequirements != ''"> and care_requirements = #{careRequirements}</if>
+        </where>
+    </select>
+    
+    <select id="selectCareAssignmentsByAssignId" parameterType="Long" resultMap="CareAssignmentsResult">
+        <include refid="selectCareAssignmentsVo"/>
+        where assign_id = #{assignId}
+    </select>
+
+    <insert id="insertCareAssignments" parameterType="CareAssignments" useGeneratedKeys="true" keyProperty="assignId">
+        insert into care_assignments
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="applyId != null">apply_id,</if>
+            <if test="companyId != null">company_id,</if>
+            <if test="nurseId != null">nurse_id,</if>
+            <if test="careRequirements != null">care_requirements,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="applyId != null">#{applyId},</if>
+            <if test="companyId != null">#{companyId},</if>
+            <if test="nurseId != null">#{nurseId},</if>
+            <if test="careRequirements != null">#{careRequirements},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCareAssignments" parameterType="CareAssignments">
+        update care_assignments
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="applyId != null">apply_id = #{applyId},</if>
+            <if test="companyId != null">company_id = #{companyId},</if>
+            <if test="nurseId != null">nurse_id = #{nurseId},</if>
+            <if test="careRequirements != null">care_requirements = #{careRequirements},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where assign_id = #{assignId}
+    </update>
+
+    <delete id="deleteCareAssignmentsByAssignId" parameterType="Long">
+        delete from care_assignments where assign_id = #{assignId}
+    </delete>
+
+    <delete id="deleteCareAssignmentsByAssignIds" parameterType="String">
+        delete from care_assignments where assign_id in 
+        <foreach item="assignId" collection="array" open="(" separator="," close=")">
+            #{assignId}
+        </foreach>
+    </delete>
+</mapper>

+ 95 - 0
ruoyi-system/src/main/resources/mapper/care/CareNurseClocksMapper.xml

@@ -0,0 +1,95 @@
+<?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.care.mapper.CareNurseClocksMapper">
+    
+    <resultMap type="CareNurseClocks" id="CareNurseClocksResult">
+        <result property="clockId"    column="clock_id"    />
+        <result property="nursingRecordId"    column="nursing_record_id"    />
+        <result property="nursingTime"    column="nursing_time"    />
+        <result property="imgPaths"    column="img_paths"    />
+        <result property="imgNum"    column="img_num"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectCareNurseClocksVo">
+        select clock_id, nursing_record_id, nursing_time, img_paths, img_num, del_flag, create_by, create_time, update_by, update_time, remark from care_nurse_clocks
+    </sql>
+
+    <select id="selectCareNurseClocksList" parameterType="CareNurseClocks" resultMap="CareNurseClocksResult">
+        <include refid="selectCareNurseClocksVo"/>
+        <where>  
+            <if test="nursingRecordId != null "> and nursing_record_id = #{nursingRecordId}</if>
+            <if test="nursingTime != null  and nursingTime != ''"> and nursing_time = #{nursingTime}</if>
+            <if test="imgPaths != null  and imgPaths != ''"> and img_paths = #{imgPaths}</if>
+            <if test="imgNum != null "> and img_num = #{imgNum}</if>
+        </where>
+    </select>
+    
+    <select id="selectCareNurseClocksByClockId" parameterType="Long" resultMap="CareNurseClocksResult">
+        <include refid="selectCareNurseClocksVo"/>
+        where clock_id = #{clockId}
+    </select>
+
+    <insert id="insertCareNurseClocks" parameterType="CareNurseClocks" useGeneratedKeys="true" keyProperty="clockId">
+        insert into care_nurse_clocks
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="nursingRecordId != null">nursing_record_id,</if>
+            <if test="nursingTime != null and nursingTime != ''">nursing_time,</if>
+            <if test="imgPaths != null and imgPaths != ''">img_paths,</if>
+            <if test="imgNum != null">img_num,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="nursingRecordId != null">#{nursingRecordId},</if>
+            <if test="nursingTime != null and nursingTime != ''">#{nursingTime},</if>
+            <if test="imgPaths != null and imgPaths != ''">#{imgPaths},</if>
+            <if test="imgNum != null">#{imgNum},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCareNurseClocks" parameterType="CareNurseClocks">
+        update care_nurse_clocks
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="nursingRecordId != null">nursing_record_id = #{nursingRecordId},</if>
+            <if test="nursingTime != null and nursingTime != ''">nursing_time = #{nursingTime},</if>
+            <if test="imgPaths != null and imgPaths != ''">img_paths = #{imgPaths},</if>
+            <if test="imgNum != null">img_num = #{imgNum},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where clock_id = #{clockId}
+    </update>
+
+    <delete id="deleteCareNurseClocksByClockId" parameterType="Long">
+        delete from care_nurse_clocks where clock_id = #{clockId}
+    </delete>
+
+    <delete id="deleteCareNurseClocksByClockIds" parameterType="String">
+        delete from care_nurse_clocks where clock_id in 
+        <foreach item="clockId" collection="array" open="(" separator="," close=")">
+            #{clockId}
+        </foreach>
+    </delete>
+</mapper>

+ 85 - 0
ruoyi-system/src/main/resources/mapper/care/CareNurseRecordsMapper.xml

@@ -0,0 +1,85 @@
+<?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.care.mapper.CareNurseRecordsMapper">
+    
+    <resultMap type="CareNurseRecords" id="CareNurseRecordsResult">
+        <result property="nursingRecordId"    column="nursing_record_id"    />
+        <result property="applyId"    column="apply_id"    />
+        <result property="nursingTime"    column="nursing_time"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectCareNurseRecordsVo">
+        select nursing_record_id, apply_id, nursing_time, del_flag, create_by, create_time, update_by, update_time, remark from care_nurse_records
+    </sql>
+
+    <select id="selectCareNurseRecordsList" parameterType="CareNurseRecords" resultMap="CareNurseRecordsResult">
+        <include refid="selectCareNurseRecordsVo"/>
+        <where>  
+            <if test="applyId != null "> and apply_id = #{applyId}</if>
+            <if test="nursingTime != null  and nursingTime != ''"> and nursing_time = #{nursingTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectCareNurseRecordsByNursingRecordId" parameterType="Long" resultMap="CareNurseRecordsResult">
+        <include refid="selectCareNurseRecordsVo"/>
+        where nursing_record_id = #{nursingRecordId}
+    </select>
+
+    <insert id="insertCareNurseRecords" parameterType="CareNurseRecords" useGeneratedKeys="true" keyProperty="nursingRecordId">
+        insert into care_nurse_records
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="applyId != null">apply_id,</if>
+            <if test="nursingTime != null and nursingTime != ''">nursing_time,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="applyId != null">#{applyId},</if>
+            <if test="nursingTime != null and nursingTime != ''">#{nursingTime},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateCareNurseRecords" parameterType="CareNurseRecords">
+        update care_nurse_records
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="applyId != null">apply_id = #{applyId},</if>
+            <if test="nursingTime != null and nursingTime != ''">nursing_time = #{nursingTime},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where nursing_record_id = #{nursingRecordId}
+    </update>
+
+    <delete id="deleteCareNurseRecordsByNursingRecordId" parameterType="Long">
+        delete from care_nurse_records where nursing_record_id = #{nursingRecordId}
+    </delete>
+
+    <delete id="deleteCareNurseRecordsByNursingRecordIds" parameterType="String">
+        delete from care_nurse_records where nursing_record_id in 
+        <foreach item="nursingRecordId" collection="array" open="(" separator="," close=")">
+            #{nursingRecordId}
+        </foreach>
+    </delete>
+</mapper>

+ 9 - 0
ruoyi-vue/src/api/care/hospital.js

@@ -42,3 +42,12 @@ export function delHospital(hospitalId) {
     method: 'delete'
   })
 }
+
+// 查询医院列表
+export function listAllHospital(query) {
+  return request({
+    url: '/care/hospital/listAll',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
ruoyi-vue/src/api/care/nurses.js

@@ -55,4 +55,13 @@ export function resetPassword(userId) {
     url: '/care/nurses/resetPassword/' + userId,
     method: 'put'
   })
+}
+
+// 查询护理人员所有列表
+export function listAllNurses(query) {
+  return request({
+    url: '/care/nurses/listAll',
+    method: 'get',
+    params: query
+  })
 }

+ 8 - 0
ruoyi-vue/src/api/care/persons.js

@@ -42,3 +42,11 @@ export function delPersons(personId) {
     method: 'delete'
   })
 }
+// 查询所有特困人员列表
+export function listAllPersons(query) {
+  return request({
+    url: '/care/persons/listAll',
+    method: 'get',
+    params: query
+  })
+}

+ 92 - 50
ruoyi-vue/src/views/care/applications/index.vue

@@ -1,14 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="申请人id" prop="personId">
-        <el-input
-          v-model="queryParams.personId"
-          placeholder="请输入申请人id"
-          clearable
-          @keyup.enter="handleQuery"
-        />
-      </el-form-item>
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="128px">
       <el-form-item label="申请人姓名" prop="personName">
         <el-input
           v-model="queryParams.personName"
@@ -20,7 +12,7 @@
       <el-form-item label="首选护理人员性别" prop="nurseGender">
         <el-select v-model="queryParams.nurseGender" placeholder="请选择首选护理人员性别" clearable>
           <el-option
-            v-for="dict in sys_yes_no"
+            v-for="dict in sys_user_sex"
             :key="dict.value"
             :label="dict.label"
             :value="dict.value"
@@ -28,14 +20,16 @@
         </el-select>
       </el-form-item>
       <el-form-item label="所在医院" prop="hospital">
-        <el-input
-          v-model="queryParams.hospital"
-          placeholder="请输入所在医院"
-          clearable
-          @keyup.enter="handleQuery"
-        />
+        <el-select v-model="queryParams.hospital" placeholder="请选择所在医院" clearable>
+          <el-option
+              v-for="dict in hispitalList"
+              :key="dict.name"
+              :label="dict.name"
+              :value="dict.name"
+          />
+        </el-select>
       </el-form-item>
-      <el-form-item label="科室具体楼层房间床号" prop="address">
+      <el-form-item label="详细地址" prop="address">
         <el-input
           v-model="queryParams.address"
           placeholder="请输入科室具体楼层房间床号"
@@ -109,32 +103,42 @@
 
     <el-table v-loading="loading" :data="applicationsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="护理申请表的唯一标识符" align="center" prop="applyId" />
-      <el-table-column label="申请人id" align="center" prop="personId" />
       <el-table-column label="申请人姓名" align="center" prop="personName" />
       <el-table-column label="护理需求详情" align="center" prop="careNeeds" />
       <el-table-column label="首选护理人员性别" align="center" prop="nurseGender">
         <template #default="scope">
-          <dict-tag :options="sys_yes_no" :value="scope.row.nurseGender"/>
+          <dict-tag :options="sys_user_sex" :value="scope.row.nurseGender"/>
         </template>
       </el-table-column>
       <el-table-column label="所在医院" align="center" prop="hospital" />
       <el-table-column label="科室具体楼层房间床号" align="center" prop="address" />
       <el-table-column label="预计天数" align="center" prop="careDays" />
       <el-table-column label="申请日期" align="center" prop="applyDate" />
-      <el-table-column label="申请状态(待审核、同意、不同意、待指派、已指派)" align="center" prop="status" />
-      <el-table-column label="处理状态(正在进行 0、已完成 1)" align="center" prop="dealStatus" />
-      <el-table-column label="支付状态(未结算 0、已结算 1)" align="center" prop="payStatus" />
-      <el-table-column label="审核原因" align="center" prop="auditReason" />
+      <el-table-column label="申请状态" align="center" prop="status" >
+        <template #default="scope">
+          <dict-tag :options="care_apply_status" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="处理状态" align="center" prop="dealStatus" >
+        <template #default="scope">
+          <dict-tag :options="deal_status" :value="scope.row.dealStatus"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="支付状态" align="center" prop="payStatus">
+        <template #default="scope">
+          <dict-tag :options="pay_status" :value="scope.row.payStatus"/>
+        </template>
+      </el-table-column>
       <el-table-column label="备注" align="center" prop="remark" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="158px">
         <template #default="scope">
+          <el-button link type="primary" icon="Check" @click="handleCheck(scope.row)" v-hasPermi="['care:applications:check']">送审</el-button>
           <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['care:applications:edit']">修改</el-button>
           <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['care:applications:remove']">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -146,19 +150,24 @@
     <!-- 添加或修改护理申请对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
       <el-form ref="applicationsRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="申请人id" prop="personId">
-          <el-input v-model="form.personId" placeholder="请输入申请人id" />
-        </el-form-item>
-        <el-form-item label="申请人姓名" prop="personName">
-          <el-input v-model="form.personName" placeholder="请输入申请人姓名" />
+        <el-form-item label="申请人" prop="personId">
+          <el-select v-model="form.personId" placeholder="请选择特困人员" @change="handleSelectChange">
+            <el-option
+                v-for="dict in personList"
+                :key="dict.personId"
+                :label="dict.name"
+                :value="dict.personId"
+            ></el-option>
+          </el-select>
+          <el-input v-model="form.personName" placeholder="personName" type="hidden"></el-input>
         </el-form-item>
-        <el-form-item label="护理需求详情" prop="careNeeds">
-          <el-input v-model="form.careNeeds" type="textarea" placeholder="请输入内容" />
+        <el-form-item label="护理需求" prop="careNeeds">
+          <el-input v-model="form.careNeeds" type="textarea" placeholder="请输入详细护理需求" />
         </el-form-item>
-        <el-form-item label="首选护理人员性别" prop="nurseGender">
+        <el-form-item label="首选性别" prop="nurseGender">
           <el-select v-model="form.nurseGender" placeholder="请选择首选护理人员性别">
             <el-option
-              v-for="dict in sys_yes_no"
+              v-for="dict in sys_user_sex"
               :key="dict.value"
               :label="dict.label"
               :value="dict.value"
@@ -166,9 +175,16 @@
           </el-select>
         </el-form-item>
         <el-form-item label="所在医院" prop="hospital">
-          <el-input v-model="form.hospital" placeholder="请输入所在医院" />
+          <el-select v-model="form.hospital" placeholder="所在公司">
+            <el-option
+                v-for="dict in hispitalList"
+                :key="dict.name"
+                :label="dict.name"
+                :value="dict.name"
+            ></el-option>
+          </el-select>
         </el-form-item>
-        <el-form-item label="科室具体楼层房间床号" prop="address">
+        <el-form-item label="详细地址" prop="address">
           <el-input v-model="form.address" placeholder="请输入科室具体楼层房间床号" />
         </el-form-item>
         <el-form-item label="预计天数" prop="careDays">
@@ -177,18 +193,6 @@
         <el-form-item label="申请日期" prop="applyDate">
           <el-input v-model="form.applyDate" placeholder="请输入申请日期" />
         </el-form-item>
-        <el-form-item label="审核原因" prop="auditReason">
-          <el-input v-model="form.auditReason" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="删除标志" prop="delFlag">
-          <el-radio-group v-model="form.delFlag">
-            <el-radio
-              v-for="dict in sys_yes_no"
-              :key="dict.value"
-              :label="dict.value"
-            >{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
@@ -205,11 +209,15 @@
 
 <script setup name="Applications">
 import { listApplications, getApplications, delApplications, addApplications, updateApplications } from "@/api/care/applications";
+import { listAllHospital } from "@/api/care/hospital";
+import {listAllPersons} from "@/api/care/persons";
 
 const { proxy } = getCurrentInstance();
-const { sys_yes_no } = proxy.useDict('sys_yes_no');
+const { sys_user_sex,care_apply_status,deal_status,pay_status } = proxy.useDict('sys_user_sex','care_apply_status','deal_status','pay_status');
 
 const applicationsList = ref([]);
+const hispitalList=ref([]);
+const personList=ref([]);
 const open = ref(false);
 const loading = ref(true);
 const showSearch = ref(true);
@@ -333,6 +341,18 @@ function handleUpdate(row) {
     title.value = "修改护理申请";
   });
 }
+// 送审
+function handleCheck(row) {
+  const _applyIds = row.applyId || ids.value;
+  proxy.$modal.confirm('是否确认送审护理申请编号为"' + _applyIds + '"的数据项?').then(function() {
+    row.status='wait_check';
+    updateApplications(row).then(response => {
+      proxy.$modal.msgSuccess("送审成功");
+      open.value = false;
+      getList();
+    });
+  })
+}
 
 /** 提交按钮 */
 function submitForm() {
@@ -373,5 +393,27 @@ function handleExport() {
   }, `applications_${new Date().getTime()}.xlsx`)
 }
 
+function handleSelectChange(value) {
+  // 找到选中的选项
+  const person =personList.value.find(option => option.personId === value);
+  if (person) {
+    form.value.personId=person.personId
+    form.value.personName=person.name
+  }
+}
+/** 查询医院列表 */
+function listHispital() {
+  listAllHospital().then(response => {
+    hispitalList.value = response;
+  });
+}
+/** 查询所有特困人员 */
+function listPersons() {
+  listAllPersons().then(response => {
+    personList.value = response;
+  });
+}
+listPersons();
+listHispital();
 getList();
 </script>

+ 371 - 0
ruoyi-vue/src/views/care/applications/index_wait_assign.vue

@@ -0,0 +1,371 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="128px">
+      <el-form-item label="申请人姓名" prop="personName">
+        <el-input
+            v-model="queryParams.personName"
+            placeholder="请输入申请人姓名"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="首选护理人员性别" prop="nurseGender">
+        <el-select v-model="queryParams.nurseGender" placeholder="请选择首选护理人员性别" clearable>
+          <el-option
+              v-for="dict in sys_user_sex"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="所在医院" prop="hospital">
+        <el-select v-model="queryParams.hospital" placeholder="请选择所在医院" clearable>
+          <el-option
+              v-for="dict in hispitalList"
+              :key="dict.name"
+              :label="dict.name"
+              :value="dict.name"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="详细地址" prop="address">
+        <el-input
+            v-model="queryParams.address"
+            placeholder="请输入科室具体楼层房间床号"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="预计天数" prop="careDays">
+        <el-input
+            v-model="queryParams.careDays"
+            placeholder="请输入预计天数"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="申请日期" prop="applyDate">
+        <el-input
+            v-model="queryParams.applyDate"
+            placeholder="请输入申请日期"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--            type="warning"-->
+<!--            plain-->
+<!--            icon="Download"-->
+<!--            @click="handleExport"-->
+<!--            v-hasPermi="['care:applications:export']"-->
+<!--        >导出</el-button>-->
+<!--      </el-col>-->
+      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+        <el-table v-loading="loading" :data="applicationsAssignList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="申请人姓名" align="center" prop="personName" />
+          <el-table-column label="护理需求详情" align="center" prop="careNeeds" />
+          <el-table-column label="首选护理人员性别" align="center" prop="nurseGender">
+            <template #default="scope">
+              <dict-tag :options="sys_user_sex" :value="scope.row.nurseGender"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="所在医院" align="center" prop="hospital" />
+          <el-table-column label="科室具体楼层房间床号" align="center" prop="address" />
+          <el-table-column label="预计天数" align="center" prop="careDays" />
+          <el-table-column label="申请日期" align="center" prop="applyDate" />
+          <el-table-column label="申请状态" align="center" prop="status" >
+            <template #default="scope">
+              <dict-tag :options="care_apply_status" :value="scope.row.status"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="备注" align="center" prop="remark" />
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="128px">
+            <template #default="scope">
+              <el-button link type="primary" icon="Edit" @click="handleAssign(scope.row)" v-hasPermi="['care:applications:assign']">指派</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+            v-show="assignTotal>0"
+            :total="assignTotal"
+            v-model:page="queryParams.pageNumAssign"
+            v-model:limit="queryParams.pageSizeAssign"
+            @pagination="getAssignList"
+        />
+
+
+    <!-- 指派对话框 -->
+    <el-dialog :title="title" v-model="openAssign" width="500px" append-to-body>
+      <el-form ref="applicationsRef" :model="form" :rules="rules" label-width="80px">
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="申请人" prop="personId">
+              <el-select v-model="form.personId" placeholder="请选择特困人员" disabled>
+                <el-option
+                    v-for="dict in personList"
+                    :key="dict.personId"
+                    :label="dict.name"
+                    :value="dict.personId"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="首选性别" prop="nurseGender">
+              <el-select v-model="form.nurseGender" placeholder="请选择首选护理人员性别" disabled>
+                <el-option
+                    v-for="dict in sys_user_sex"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="护理需求" prop="careNeeds">
+              <el-input v-model="form.careNeeds" type="textarea" placeholder="请输入详细护理需求" disabled />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="所在医院" prop="hospital">
+              <el-select v-model="form.hospital" placeholder="所在公司" disabled>
+                <el-option
+                    v-for="dict in hispitalList"
+                    :key="dict.name"
+                    :label="dict.name"
+                    :value="dict.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="详细地址" prop="address">
+              <el-input v-model="form.address" placeholder="请输入科室具体楼层房间床号" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="预计天数" prop="careDays">
+              <el-input v-model="form.careDays" placeholder="请输入预计天数" disabled/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="申请日期" prop="applyDate">
+              <el-input v-model="form.applyDate" placeholder="请输入申请日期" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-divider/>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="选择护理人员" prop="nurseId">
+              <el-select v-model="form.nurseId" placeholder="护理人员">
+                <el-option
+                    v-for="dict in nursesList"
+                    :key="dict.name"
+                    :label="dict.name"
+                    :value="dict.nurseId"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitForm()">确定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup name="WaitCheckApplications">
+import { listApplications, getApplications, delApplications, addApplications, updateApplications } from "@/api/care/applications";
+import { listAllHospital } from "@/api/care/hospital";
+import {listAllPersons} from "@/api/care/persons";
+import {listAllNurses} from "@/api/care/nurses";
+const { proxy } = getCurrentInstance();
+const { sys_user_sex,care_apply_status } = proxy.useDict('sys_user_sex','care_apply_status');
+
+const applicationsAssignList = ref([]);
+const hispitalList=ref([]);
+const personList=ref([]);
+const nursesList=ref([]);
+const loading = ref(true);
+const showSearch = ref(true);
+const ids = ref([]);
+const single = ref(true);
+const multiple = ref(true);
+const title = ref("");
+const assignTotal=ref(0);
+
+const openAssign=ref(false);
+const data = reactive({
+  form: {},
+  queryParams: {
+    pageNumAssign: 1,
+    pageSizeAssign: 10,
+    personId: null,
+    personName: null,
+    careNeeds: null,
+    nurseGender: null,
+    hospital: null,
+    address: null,
+    careDays: null,
+    applyDate: null,
+    status: 'wait_assign_nurse',
+    dealStatus: null,
+    payStatus: null,
+    auditReason: null,
+  }
+});
+
+const { queryParams, form, rules } = toRefs(data);
+
+/** 查询护理指派列表 */
+function getAssignList(){
+  loading.value = true;
+  listApplications(queryParams.value).then(response => {
+    applicationsAssignList.value = response.rows;
+    assignTotal.value = response.total;
+    loading.value = false;
+  });
+}
+// 取消按钮
+function cancel() {
+  openAssign.value=false;
+  reset();
+}
+
+// 表单重置
+function reset() {
+  form.value = {
+    applyId: null,
+    personId: null,
+    personName: null,
+    careNeeds: null,
+    nurseGender: null,
+    hospital: null,
+    address: null,
+    careDays: null,
+    applyDate: null,
+    status: null,
+    dealStatus: null,
+    payStatus: null,
+    auditReason: null,
+    delFlag: null,
+    createBy: null,
+    createTime: null,
+    updateBy: null,
+    updateTime: null,
+    remark: null
+  };
+  proxy.resetForm("applicationsRef");
+}
+
+/** 搜索按钮操作 */
+function handleQuery() {
+  queryParams.value.pageNum = 1;
+  queryParams.value.pageNumAssign = 1;
+  getAssignList();
+}
+
+/** 重置按钮操作 */
+function resetQuery() {
+  proxy.resetForm("queryRef");
+  handleQuery();
+}
+
+// 多选框选中数据
+function handleSelectionChange(selection) {
+  ids.value = selection.map(item => item.applyId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
+}
+
+
+/** 指派操作 */
+function handleAssign(row) {
+  reset();
+  const _applyId = row.applyId || ids.value
+  getApplications(_applyId).then(response => {
+    form.value = response.data;
+    openAssign.value = true;
+    title.value = "指派";
+  });
+}
+
+/** 提交按钮 */
+function submitForm() {
+  console.info(form.value);
+  // proxy.$refs["applicationsRef"].validate(valid => {
+  //   if (valid) {
+  //     updateApplications(form.value).then(response => {
+  //       proxy.$modal.msgSuccess("指派成功");
+  //       openAssign.value = false;
+  //       getAssignList();
+  //     });
+  //   }
+  // });
+}
+/** 导出按钮操作 */
+function handleExport() {
+  proxy.download('care/applications/export', {
+    ...queryParams.value
+  }, `applications_${new Date().getTime()}.xlsx`)
+}
+
+function handleSelectChange(value) {
+  // 找到选中的选项
+  const person =personList.value.find(option => option.personId === value);
+  if (person) {
+    form.value.personId=person.personId
+    form.value.personName=person.name
+  }
+}
+
+/** 查询当前公司的护理人员 */
+function listCompanyNurses() {
+  listAllNurses().then(response => {
+    nursesList.value = response;
+  });
+}
+
+/** 查询医院列表 */
+function listHispital() {
+  listAllHospital().then(response => {
+    hispitalList.value = response;
+  });
+}
+getAssignList();
+listCompanyNurses();
+listHispital();
+</script>

+ 552 - 0
ruoyi-vue/src/views/care/applications/index_wait_check.vue

@@ -0,0 +1,552 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="128px">
+      <el-form-item label="申请人姓名" prop="personName">
+        <el-input
+            v-model="queryParams.personName"
+            placeholder="请输入申请人姓名"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="首选护理人员性别" prop="nurseGender">
+        <el-select v-model="queryParams.nurseGender" placeholder="请选择首选护理人员性别" clearable>
+          <el-option
+              v-for="dict in sys_user_sex"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="所在医院" prop="hospital">
+        <el-select v-model="queryParams.hospital" placeholder="请选择所在医院" clearable>
+          <el-option
+              v-for="dict in hispitalList"
+              :key="dict.name"
+              :label="dict.name"
+              :value="dict.name"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="详细地址" prop="address">
+        <el-input
+            v-model="queryParams.address"
+            placeholder="请输入科室具体楼层房间床号"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="预计天数" prop="careDays">
+        <el-input
+            v-model="queryParams.careDays"
+            placeholder="请输入预计天数"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="申请日期" prop="applyDate">
+        <el-input
+            v-model="queryParams.applyDate"
+            placeholder="请输入申请日期"
+            clearable
+            @keyup.enter="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
+        <el-button icon="Refresh" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <!--      <el-col :span="1.5">-->
+      <!--        <el-button-->
+      <!--            type="warning"-->
+      <!--            plain-->
+      <!--            icon="Download"-->
+      <!--            @click="handleExport"-->
+      <!--            v-hasPermi="['care:applications:export']"-->
+      <!--        >导出</el-button>-->
+      <!--      </el-col>-->
+      <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+    <el-tabs v-model="activeName">
+      <el-tab-pane label="待审核" name="waitCheck">
+        <el-table v-loading="loading" :data="applicationsCheckList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="申请人姓名" align="center" prop="personName" />
+          <el-table-column label="护理需求详情" align="center" prop="careNeeds" />
+          <el-table-column label="首选护理人员性别" align="center" prop="nurseGender">
+            <template #default="scope">
+              <dict-tag :options="sys_user_sex" :value="scope.row.nurseGender"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="所在医院" align="center" prop="hospital" />
+          <el-table-column label="科室具体楼层房间床号" align="center" prop="address" />
+          <el-table-column label="预计天数" align="center" prop="careDays" />
+          <el-table-column label="申请日期" align="center" prop="applyDate" />
+          <el-table-column label="申请状态" align="center" prop="status" >
+            <template #default="scope">
+              <dict-tag :options="care_apply_status" :value="scope.row.status"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="备注" align="center" prop="remark" />
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="128px">
+            <template #default="scope">
+              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['care:applications:check']">审核</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+            v-show="total>0"
+            :total="total"
+            v-model:page="queryParams.pageNum"
+            v-model:limit="queryParams.pageSize"
+            @pagination="getList"
+        />
+      </el-tab-pane>
+      <el-tab-pane label="待指派" name="waitAssign">
+        <el-table v-loading="loading" :data="applicationsAssignList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="申请人姓名" align="center" prop="personName" />
+          <el-table-column label="护理需求详情" align="center" prop="careNeeds" />
+          <el-table-column label="首选护理人员性别" align="center" prop="nurseGender">
+            <template #default="scope">
+              <dict-tag :options="sys_user_sex" :value="scope.row.nurseGender"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="所在医院" align="center" prop="hospital" />
+          <el-table-column label="科室具体楼层房间床号" align="center" prop="address" />
+          <el-table-column label="预计天数" align="center" prop="careDays" />
+          <el-table-column label="申请日期" align="center" prop="applyDate" />
+          <el-table-column label="申请状态" align="center" prop="status" >
+            <template #default="scope">
+              <dict-tag :options="care_apply_status" :value="scope.row.status"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="备注" align="center" prop="remark" />
+          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="128px">
+            <template #default="scope">
+              <el-button link type="primary" icon="Edit" @click="handleAssign(scope.row)" v-hasPermi="['care:applications:assign']">指派</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+            v-show="assignTotal>0"
+            :total="assignTotal"
+            v-model:page="queryParams.pageNumAssign"
+            v-model:limit="queryParams.pageSizeAssign"
+            @pagination="getAssignList"
+        />
+      </el-tab-pane>
+    </el-tabs>
+
+
+    <!-- 添加或修改护理申请对话框 -->
+    <el-dialog :title="title" v-model="open" width="500px" append-to-body>
+      <el-form ref="applicationsRef" :model="form" :rules="rules" label-width="80px">
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="申请人" prop="personId">
+              <el-select v-model="form.personId" placeholder="请选择特困人员" disabled>
+                <el-option
+                    v-for="dict in personList"
+                    :key="dict.personId"
+                    :label="dict.name"
+                    :value="dict.personId"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="首选性别" prop="nurseGender">
+              <el-select v-model="form.nurseGender" placeholder="请选择首选护理人员性别" disabled>
+                <el-option
+                    v-for="dict in sys_user_sex"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="护理需求" prop="careNeeds">
+              <el-input v-model="form.careNeeds" type="textarea" placeholder="请输入详细护理需求" disabled />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="所在医院" prop="hospital">
+              <el-select v-model="form.hospital" placeholder="所在公司" disabled>
+                <el-option
+                    v-for="dict in hispitalList"
+                    :key="dict.name"
+                    :label="dict.name"
+                    :value="dict.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="详细地址" prop="address">
+              <el-input v-model="form.address" placeholder="请输入科室具体楼层房间床号" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="预计天数" prop="careDays">
+              <el-input v-model="form.careDays" placeholder="请输入预计天数" disabled/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="申请日期" prop="applyDate">
+              <el-input v-model="form.applyDate" placeholder="请输入申请日期" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-divider/>
+        <el-form-item label="审核原因" prop="auditReason">
+          <el-input v-model="form.auditReason" type="textarea" placeholder="请输入内容"/>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitForm(1)">同 意</el-button>
+          <el-button type="primary" @click="submitForm(2)">不同意</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </template>
+    </el-dialog>
+
+    <!-- 指派对话框 -->
+    <el-dialog :title="title" v-model="openAssign" width="500px" append-to-body>
+      <el-form ref="applicationsRef" :model="form" :rules="rules" label-width="80px">
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="申请人" prop="personId">
+              <el-select v-model="form.personId" placeholder="请选择特困人员" disabled>
+                <el-option
+                    v-for="dict in personList"
+                    :key="dict.personId"
+                    :label="dict.name"
+                    :value="dict.personId"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="首选性别" prop="nurseGender">
+              <el-select v-model="form.nurseGender" placeholder="请选择首选护理人员性别" disabled>
+                <el-option
+                    v-for="dict in sys_user_sex"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="护理需求" prop="careNeeds">
+              <el-input v-model="form.careNeeds" type="textarea" placeholder="请输入详细护理需求" disabled />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="所在医院" prop="hospital">
+              <el-select v-model="form.hospital" placeholder="所在公司" disabled>
+                <el-option
+                    v-for="dict in hispitalList"
+                    :key="dict.name"
+                    :label="dict.name"
+                    :value="dict.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="详细地址" prop="address">
+              <el-input v-model="form.address" placeholder="请输入科室具体楼层房间床号" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="预计天数" prop="careDays">
+              <el-input v-model="form.careDays" placeholder="请输入预计天数" disabled/>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="申请日期" prop="applyDate">
+              <el-input v-model="form.applyDate" placeholder="请输入申请日期" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="备注" prop="remark">
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" disabled/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-divider/>
+        <el-row :gutter="20">
+          <el-col :span="24">
+            <el-form-item label="选择护理公司" prop="auditReason">
+              <el-select v-model="form.companyId" placeholder="护理公司">
+                <el-option
+                    v-for="dict in companyList"
+                    :key="dict.name"
+                    :label="dict.name"
+                    :value="dict.name"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitForm()">确定</el-button>
+          <el-button @click="cancel">取 消</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup name="WaitCheckApplications">
+import { listApplications, getApplications, delApplications, addApplications, updateApplications } from "@/api/care/applications";
+import { listAllHospital } from "@/api/care/hospital";
+import {listAllPersons} from "@/api/care/persons";
+import {listAllCompany} from "@/api/care/nurses";
+const { proxy } = getCurrentInstance();
+const { sys_user_sex,care_apply_status } = proxy.useDict('sys_user_sex','care_apply_status');
+
+const applicationsCheckList = ref([]);
+const applicationsAssignList = ref([]);
+const hispitalList=ref([]);
+const personList=ref([]);
+const companyList=ref([]);
+const open = ref(false);
+const loading = ref(true);
+const showSearch = ref(true);
+const ids = ref([]);
+const single = ref(true);
+const multiple = ref(true);
+const total = ref(0);
+const title = ref("");
+const assignTotal=ref(0);
+const activeName = ref("waitCheck");
+
+const openAssign=ref(false);
+const data = reactive({
+  form: {},
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    pageNumAssign: 1,
+    pageSizeAssign: 10,
+    personId: null,
+    personName: null,
+    careNeeds: null,
+    nurseGender: null,
+    hospital: null,
+    address: null,
+    careDays: null,
+    applyDate: null,
+    status: null,
+    dealStatus: null,
+    payStatus: null,
+    auditReason: null,
+  }
+});
+
+const { queryParams, form, rules } = toRefs(data);
+
+/** 查询护理申请列表 */
+function getList() {
+  loading.value = true;
+  queryParams.value.status='wait_check';
+  listApplications(queryParams.value).then(response => {
+    applicationsCheckList.value = response.rows;
+    total.value = response.total;
+    loading.value = false;
+  });
+}
+
+function getAssignList(){
+  loading.value = true;
+  queryParams.value.status='wait_assign_company';
+  listApplications(queryParams.value).then(response => {
+    applicationsAssignList.value = response.rows;
+    assignTotal.value = response.total;
+    loading.value = false;
+  });
+}
+// 取消按钮
+function cancel() {
+  open.value = false;
+  openAssign.value=false;
+  reset();
+}
+
+// 表单重置
+function reset() {
+  form.value = {
+    applyId: null,
+    personId: null,
+    personName: null,
+    careNeeds: null,
+    nurseGender: null,
+    hospital: null,
+    address: null,
+    careDays: null,
+    applyDate: null,
+    status: null,
+    dealStatus: null,
+    payStatus: null,
+    auditReason: null,
+    delFlag: null,
+    createBy: null,
+    createTime: null,
+    updateBy: null,
+    updateTime: null,
+    remark: null,
+    companyId:null
+  };
+  proxy.resetForm("applicationsRef");
+}
+
+/** 搜索按钮操作 */
+function handleQuery() {
+  queryParams.value.pageNum = 1;
+  queryParams.value.pageNumAssign = 1;
+  getList();
+  getAssignList();
+}
+
+/** 重置按钮操作 */
+function resetQuery() {
+  proxy.resetForm("queryRef");
+  handleQuery();
+}
+
+// 多选框选中数据
+function handleSelectionChange(selection) {
+  ids.value = selection.map(item => item.applyId);
+  single.value = selection.length != 1;
+  multiple.value = !selection.length;
+}
+
+/** 新增按钮操作 */
+function handleAdd() {
+  reset();
+  open.value = true;
+  title.value = "添加护理申请";
+}
+
+/** 修改按钮操作 */
+function handleUpdate(row) {
+  reset();
+  const _applyId = row.applyId || ids.value
+  getApplications(_applyId).then(response => {
+    form.value = response.data;
+    open.value = true;
+    title.value = "修改护理申请";
+  });
+}
+/** 指派操作 */
+function handleAssign(row) {
+  reset();
+  const _applyId = row.applyId || ids.value
+  getApplications(_applyId).then(response => {
+    form.value = response.data;
+    openAssign.value = true;
+    title.value = "指派";
+  });
+}
+
+/** 提交按钮 */
+function submitForm(type) {
+  proxy.$refs["applicationsRef"].validate(valid => {
+    if (valid) {
+      if(type==2){
+        if(form.value.auditReason==""){
+          proxy.$modal.msgWarning("审核理由不能为空");
+          return;
+        }else{
+          form.value.status='disagree'
+        }
+      }else{
+        form.value.status='wait_assign_company'
+      }
+
+      updateApplications(form.value).then(response => {
+        proxy.$modal.msgSuccess("指派成功");
+        open.value = false;
+        getList();
+        getAssignList();
+      });
+    }
+  });
+}
+/** 导出按钮操作 */
+function handleExport() {
+  proxy.download('care/applications/export', {
+    ...queryParams.value
+  }, `applications_${new Date().getTime()}.xlsx`)
+}
+
+function handleSelectChange(value) {
+  // 找到选中的选项
+  const person =personList.value.find(option => option.personId === value);
+  if (person) {
+    form.value.personId=person.personId
+    form.value.personName=person.name
+  }
+}
+/** 查询医院列表 */
+function listHispital() {
+  listAllHospital().then(response => {
+    hispitalList.value = response;
+  });
+}
+/** 查询所有特困人员 */
+function listPersons() {
+  listAllPersons().then(response => {
+    personList.value = response;
+  });
+}
+
+/** 查询公司列表 */
+function listCompany() {
+  listAllCompany().then(response => {
+    companyList.value = response;
+  });
+}
+listPersons();
+listHispital();
+getList();
+getAssignList();
+listCompany();
+</script>