feat: 路由跳转重构 + 甲方报价单 + 物料分类 + 比价选择方案 + 规格型号拆分
- 比价页改为列表→路由跳转到 comparison/detail,支持勾选物料行生成采购方案PDF - 新增甲方报价单模块(clientquote):列表+详情路由,含成本价/报价/毛利率,导出PDF - 新增物料分类管理(category):树形结构,CRUD,物料页面关联分类筛选 - BizMaterial 拆分 spec(规格) + modelNo(型号) 两个字段 - Logo 修复:新PNG + 内联样式确保完整显示 - sys_menu 新增 2012(物料分类)、2013(甲方报价单)、2014(报价单详情)、2015(比价详情) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package com.ruoyi.web.controller.bid;
|
||||
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.system.domain.bid.BizClientQuote;
|
||||
import com.ruoyi.system.service.bid.IBizClientQuoteService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/bid/clientquote")
|
||||
public class BizClientQuoteController extends BaseController {
|
||||
@Autowired private IBizClientQuoteService service;
|
||||
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(BizClientQuote query) {
|
||||
startPage();
|
||||
List<BizClientQuote> list = service.selectClientQuoteList(query);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@GetMapping("/{quoteId}")
|
||||
public AjaxResult getInfo(@PathVariable Long quoteId) {
|
||||
return success(service.selectClientQuoteById(quoteId));
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody BizClientQuote quote) {
|
||||
quote.setCreateBy(getUsername());
|
||||
return toAjax(service.insertClientQuote(quote));
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody BizClientQuote quote) {
|
||||
return toAjax(service.updateClientQuote(quote));
|
||||
}
|
||||
|
||||
@DeleteMapping("/{quoteId}")
|
||||
public AjaxResult remove(@PathVariable Long quoteId) {
|
||||
return toAjax(service.deleteClientQuoteById(quoteId));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.ruoyi.web.controller.bid;
|
||||
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.system.domain.bid.BizMaterialCategory;
|
||||
import com.ruoyi.system.service.bid.IBizMaterialCategoryService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/bid/category")
|
||||
public class BizMaterialCategoryController extends BaseController {
|
||||
@Autowired private IBizMaterialCategoryService service;
|
||||
|
||||
@GetMapping("/tree")
|
||||
public AjaxResult tree() { return success(service.selectCategoryList()); }
|
||||
|
||||
@GetMapping("/list")
|
||||
public AjaxResult list() { return success(service.selectCategoryList()); }
|
||||
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody BizMaterialCategory cat) {
|
||||
cat.setCreateBy(getUsername());
|
||||
return toAjax(service.insertCategory(cat));
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody BizMaterialCategory cat) {
|
||||
return toAjax(service.updateCategory(cat));
|
||||
}
|
||||
|
||||
@DeleteMapping("/{categoryId}")
|
||||
public AjaxResult remove(@PathVariable Long categoryId) {
|
||||
return toAjax(service.deleteCategory(categoryId));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user