若依项目环境搭建及使用
目錄
一、搭建若依項目
根據官網搭建若依開發環境:
后臺
1、git clone 將遠程的若依項目拉取到本地?
2、通過IDEA打開項目
4、修改數據庫連接配置信息
5、修改項目基本配置信息?---配置Redis
前臺
1、npm install
2、npm run dev
二、遠程redis切換為本地redis
windows版redis下載配置地址:
三、代碼生成&數據字典使用
代碼生成
1、給表、字段添加注釋
2、在代碼生成策略(編輯)中要指定下拉框對應的數據字典的類別
3、批量生成代碼
4、生成代碼略有缺陷,因為ID是隨機的
數據字典使用
四、菜單管理
五、若依項目二次開發
一、搭建若依項目
若依是一款開源項目
首先進行百度:
?
?
?
?進行登錄:
?
以上是在線演示模式。
接下來是正式:
?
?
根據官網搭建若依開發環境:
后臺
1、git clone 將遠程的若依項目拉取到本地?
(點擊下載頁面括號內的鏈接跳轉碼云gitee)
?
?
?
?
?
?2、通過IDEA打開項目
?接著打開IDEA軟件:
?
?
?如果切換了一個新工作區間的話,一定要及時修改maven配置
?
?3、將若依項目中 sql文件夾中的腳本在Navicat執行
?
?接著打開MySQL創建一個屬于自己的若依開發庫:
?創建好之后
把剛才拷貝到桌面去的兩個sql表腳本?導入到ruoyi庫中
?
4、修改數據庫連接配置信息
5、修改項目基本配置信息?---配置Redis
?在此類運行
?
?
?若依后臺啟動成功!
?然后去下載一個vue.js的插件:
?
下載完畢之后重啟IDEA即可?
前臺
1、npm install
?
?這個時候就是考驗你們的網速了.......
?2、npm run dev
緊接著開始運行項目即可
若依項目就搭建完成啦!!!
二、遠程redis切換為本地redis
windows版redis下載配置地址:
https://www.cnblogs.com/cang12138/p/8880776.html
?根據其中的步驟安裝。
?
下載RedisDesktopManager:?
?
?測試連接:
?
?OK即可
?再次修改配置項目基本配置信息:
三、代碼生成&數據字典使用
代碼生成
1、給表、字段添加注釋
2、在代碼生成策略(編輯)中要指定下拉框對應的數據字典的類別
3、批量生成代碼
4、生成代碼略有缺陷,因為ID是隨機的
運行ssm.sql的腳本:
?進入項目找到 系統工具 ——> 代碼生成
?
?導入患者信息表:
?
?
??導入門診信息表:
?
?可以解壓到桌面:
?
但是其中ruoyi\vue\views\system\archives中的index.vue中它性別選擇是 文本框,因此我們要改變成 下拉框 ,接下來就要用到數據字典
數據字典使用
新的業務中需要用到的字典在系統管理中提前配置好
?
?
?
?
?
?依次增加狀態:
然后去到系統工具——>代碼生成:
?
?
再解壓到桌面?
?再去查看index.vue:
?“dict”? 就使用到了數據字典
接著把剛解壓到桌面的vue文件打開,在main下找到這兩個文件夾 :
?將其拷貝到若依項目所在文件夾里面的ruoyi-system——>src——>main:
后端就搞好了;
然后前端
同樣把?生成下來的api 和 views?放到?ruoyi-ui?內的?src?下:
?覆蓋進去:
?然后在 MySQL 里面 新建查詢 去運行兩個sql腳本:
?
出現這兩個結果就好了。
完畢之后,關閉后臺,用JRebel啟動:
?運行完之后
若依項目的ruoyi-system文件下的com.ruoyi.system包就會自動添加了剛拷的代碼:(如下圖)
我們去前端測試:
患者信息內無數據,我們測試 增加/修改/刪除 功能能否成功:
?
這里會遇到報錯:?
這時我們需要手動修改代碼:
package com.ruoyi.system.controller;import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.logging.SimpleFormatter; import javax.servlet.http.HttpServletResponse;import com.ruoyi.common.utils.SecurityUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.domain.TMedicalCostPersonArchives; import com.ruoyi.system.service.ITMedicalCostPersonArchivesService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo;/*** 患者信息Controller* * @author ruoyi* @date 2022-09-29*/ @RestController @RequestMapping("/system/archives") public class TMedicalCostPersonArchivesController extends BaseController {@Autowiredprivate ITMedicalCostPersonArchivesService tMedicalCostPersonArchivesService;/*** 查詢患者信息列表*/@PreAuthorize("@ss.hasPermi('system:archives:list')")@GetMapping("/list")public TableDataInfo list(TMedicalCostPersonArchives tMedicalCostPersonArchives){startPage();List<TMedicalCostPersonArchives> list = tMedicalCostPersonArchivesService.selectTMedicalCostPersonArchivesList(tMedicalCostPersonArchives);return getDataTable(list);}/*** 導出患者信息列表*/@PreAuthorize("@ss.hasPermi('system:archives:export')")@Log(title = "患者信息", businessType = BusinessType.EXPORT)@PostMapping("/export")public void export(HttpServletResponse response, TMedicalCostPersonArchives tMedicalCostPersonArchives){List<TMedicalCostPersonArchives> list = tMedicalCostPersonArchivesService.selectTMedicalCostPersonArchivesList(tMedicalCostPersonArchives);ExcelUtil<TMedicalCostPersonArchives> util = new ExcelUtil<TMedicalCostPersonArchives>(TMedicalCostPersonArchives.class);util.exportExcel(response, list, "患者信息數據");}/*** 獲取患者信息詳細信息*/@PreAuthorize("@ss.hasPermi('system:archives:query')")@GetMapping(value = "/{id}")public AjaxResult getInfo(@PathVariable("id") String id){return AjaxResult.success(tMedicalCostPersonArchivesService.selectTMedicalCostPersonArchivesById(id));}/*** 新增患者信息*/@PreAuthorize("@ss.hasPermi('system:archives:add')")@Log(title = "患者信息", businessType = BusinessType.INSERT)@PostMappingpublic AjaxResult add(@RequestBody TMedicalCostPersonArchives tMedicalCostPersonArchives){String username= SecurityUtils.getUsername();SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");tMedicalCostPersonArchives.setId(username+sdf.format(new Date()));return toAjax(tMedicalCostPersonArchivesService.insertTMedicalCostPersonArchives(tMedicalCostPersonArchives));}/*** 修改患者信息*/@PreAuthorize("@ss.hasPermi('system:archives:edit')")@Log(title = "患者信息", businessType = BusinessType.UPDATE)@PutMappingpublic AjaxResult edit(@RequestBody TMedicalCostPersonArchives tMedicalCostPersonArchives){return toAjax(tMedicalCostPersonArchivesService.updateTMedicalCostPersonArchives(tMedicalCostPersonArchives));}/*** 刪除患者信息*/@PreAuthorize("@ss.hasPermi('system:archives:remove')")@Log(title = "患者信息", businessType = BusinessType.DELETE)@DeleteMapping("/{ids}")public AjaxResult remove(@PathVariable String[] ids){return toAjax(tMedicalCostPersonArchivesService.deleteTMedicalCostPersonArchivesByIds(ids));} }再?嘗試增加一次:?
?
修改:
?
?刪除:
?
?
四、菜單管理
找到菜單管理
?點擊新增:
新增之后:
將患者信息修改到患者管理菜單下:
?
?
?OK——
將門診信息修改到患者管理菜單下:
?OK——
再次刷新頁面
最終菜單呈現效果如下:
?后面菜單設置就按這種方式即可。
如果要把若依官網的菜單隱藏起來:?
?刷新:
五、若依項目二次開發
1、找到前端頁面,添加功能按鈕
2、給功能按鈕添加js方法
?再復制一個建檔按鈕:
?效果:
?
?
?
?
package com.ruoyi.system.domain.dto;import com.ruoyi.system.domain.TMedicalCostOutpatientInfo; import com.ruoyi.system.domain.TMedicalCostPersonArchives;/*** @author 楊總* @create 2022-09-29 23:57*/ public class ArchivesDto {private TMedicalCostPersonArchives archives;//這個屬性要與前端formdto中的key保持一致private TMedicalCostOutpatientInfo info;public TMedicalCostPersonArchives getArchives() {return archives;}public void setArchives(TMedicalCostPersonArchives archives) {this.archives = archives;}public TMedicalCostOutpatientInfo getInfo() {return info;}public void setInfo(TMedicalCostOutpatientInfo info) {this.info = info;} }?
TMedicalCostPersonArchivesController: /*** 建檔*/@PreAuthorize("@ss.hasPermi('system:archives:add')")@Log(title = "患者信息", businessType = BusinessType.INSERT)@PostMapping("/jiandang")public AjaxResult jiandang(@RequestBody ArchivesDto dto){//獲取到前端傳遞到后端 個人檔案相關信息TMedicalCostPersonArchives tMedicalCostPersonArchives = dto.getArchives();String username= SecurityUtils.getUsername();SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");//患者檔案IDString archivesID=username+sdf.format(new Date());tMedicalCostPersonArchives.setId(archivesID); // 只是將個人檔案信息存儲到數據庫int res = tMedicalCostPersonArchivesService.insertTMedicalCostPersonArchives(tMedicalCostPersonArchives);TMedicalCostOutpatientInfo info=dto.getInfo();info.setId(Long.valueOf((new Date().getTime()+"").substring(0,9)));info.setPersonid(archivesID);//將患者門診卡信息添加到數據庫res = infoService.insertTMedicalCostOutpatientInfo(info);return toAjax(res);}?
?
?運行效果:
點擊建檔
填寫相關信息之后
修改:?
?
?
?
刪除:?
?
?
?建檔增刪改查功能完畢!
今日分享就到這里,再會啦!
總結
以上是生活随笔為你收集整理的若依项目环境搭建及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VUE中使用http请求
- 下一篇: 服务网格峰会 Service Mesh