商品中心前端

pull/1/head
tengxi 1 year ago
parent 686c3ce2fe
commit 294188df26

@ -99,4 +99,12 @@ public class ProductController {
ExcelUtils.write(response, "商品.xls", "数据", ProductExcelVO.class, datas); ExcelUtils.write(response, "商品.xls", "数据", ProductExcelVO.class, datas);
} }
@GetMapping("/productPage")
@Operation(summary = "获得商品分页")
@PreAuthorize("@ss.hasPermission('xxjj:product:query1')")
public CommonResult<PageResult<ProductRespVO>> getProductPageList(@Valid ProductPageReqVO pageVO) {
PageResult<ProductDO> pageResult = productService.ProductPageList1(pageVO);
return success(ProductConvert.INSTANCE.convertPage(pageResult));
}
} }

@ -1,5 +1,6 @@
package com.yunxi.scm.module.xxjj.controller.admin.product.vo; package com.yunxi.scm.module.xxjj.controller.admin.product.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -287,4 +288,19 @@ public class ProductBaseVO {
@Schema(description = "预留字段6") @Schema(description = "预留字段6")
private String reservedFields6; private String reservedFields6;
@TableField(exist = false)
private Integer ctaeId;
@TableField(exist = false)
private String categoryName;
@TableField(exist = false)
private String brandName;
@TableField(exist = false)
private String lifeCycle;
@TableField(exist = false)
private String salesStatus;
} }

@ -417,4 +417,19 @@ public class ProductDO extends BaseDO {
*/ */
@TableField(exist = false) @TableField(exist = false)
private String updaterName; private String updaterName;
@TableField(exist = false)
private Integer ctaeId;
@TableField(exist = false)
private String categoryName;
@TableField(exist = false)
private String brandName;
@TableField(exist = false)
private String lifeCycle;
@TableField(exist = false)
private String salesStatus;
} }

@ -2,12 +2,14 @@ package com.yunxi.scm.module.xxjj.dal.mysql.product;
import java.util.*; import java.util.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yunxi.scm.framework.common.pojo.PageResult; import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX; import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX; import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.module.xxjj.dal.dataobject.product.ProductDO; import com.yunxi.scm.module.xxjj.dal.dataobject.product.ProductDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.yunxi.scm.module.xxjj.controller.admin.product.vo.*; import com.yunxi.scm.module.xxjj.controller.admin.product.vo.*;
import org.apache.ibatis.annotations.Param;
/** /**
* Mapper * Mapper
@ -200,4 +202,5 @@ public interface ProductMapper extends BaseMapperX<ProductDO> {
.orderByDesc(ProductDO::getId)); .orderByDesc(ProductDO::getId));
} }
IPage<ProductDO> productDoListpage(IPage<ProductDO> page, @Param("reqVO") ProductPageReqVO reqVO);
} }

@ -67,4 +67,10 @@ public interface ProductService {
*/ */
List<ProductDO> getProductList(ProductExportReqVO exportReqVO); List<ProductDO> getProductList(ProductExportReqVO exportReqVO);
/**
*
* @param
* @return
*/
PageResult<ProductDO> ProductPageList1(ProductPageReqVO reqVO);
} }

@ -1,5 +1,7 @@
package com.yunxi.scm.module.xxjj.service.product; package com.yunxi.scm.module.xxjj.service.product;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yunxi.scm.module.system.dal.dataobject.user.AdminUserDO; import com.yunxi.scm.module.system.dal.dataobject.user.AdminUserDO;
import com.yunxi.scm.module.system.service.user.AdminUserService; import com.yunxi.scm.module.system.service.user.AdminUserService;
import com.yunxi.scm.module.xxjj.dal.dataobject.subjectbasic.SubjectBasicDO; import com.yunxi.scm.module.xxjj.dal.dataobject.subjectbasic.SubjectBasicDO;
@ -100,4 +102,11 @@ public class ProductServiceImpl implements ProductService {
return productMapper.selectList(exportReqVO); return productMapper.selectList(exportReqVO);
} }
@Override
public PageResult<ProductDO> ProductPageList1(ProductPageReqVO reqVO) {
IPage<ProductDO> page =new Page<>(reqVO.getPageNo(),reqVO.getPageSize());
productMapper.productDoListpage(page,reqVO);
return new PageResult<>(page.getRecords(),page.getTotal());
}
} }

@ -9,14 +9,14 @@
文档可见https://www.iocoder.cn/MyBatis/x-plugins/ 文档可见https://www.iocoder.cn/MyBatis/x-plugins/
--> -->
<select id="queryProductList" resultType="com.yunxi.scm.module.xxjj.dal.dataobject.product.ProductDO"> <select id="productDoListpage" resultType="com.yunxi.scm.module.xxjj.dal.dataobject.product.ProductDO">
SELECT SELECT
a.*, a.*,
b.id AS ctaeId, b.id AS ctaeId,
b.category_name, b.category_name AS categoryName,
c.brand_name, c.brand_name AS brandName,
z.life_cycle, z.life_cycle AS lifeCycle,
z.sales_status z.sales_status AS salesStatus
FROM FROM
xxjj_product a xxjj_product a
LEFT JOIN xxjj_product_category b ON a.product_type_id=b.id AND b.deleted=0 LEFT JOIN xxjj_product_category b ON a.product_type_id=b.id AND b.deleted=0
@ -24,7 +24,6 @@
LEFT JOIN xxjj_product_supply z ON a.id=z.product_id AND z.deleted=0 LEFT JOIN xxjj_product_supply z ON a.id=z.product_id AND z.deleted=0
WHERE WHERE
a.deleted=0 a.deleted=0
<where> <where>
<if test="reqVO.name != null and reqVO.name !=''"> <if test="reqVO.name != null and reqVO.name !=''">
a.name LIKE CONCAT('%',#{name},'%') a.name LIKE CONCAT('%',#{name},'%')
@ -44,14 +43,8 @@
<if test="reqVO.shortName != null and reqVO.shortName !=''"> <if test="reqVO.shortName != null and reqVO.shortName !=''">
a.short_name LIKE CONCAT('%',#{shortName},'%') a.short_name LIKE CONCAT('%',#{shortName},'%')
</if> </if>
<if test="reqVO.startDate != null and reqVO.endDate != null">
AND a.update_time &gt; #{reqVO} AND a.update_time &lt;= #{reqVO}
</if>
</where> </where>
GROUP BY
a.id
</select> </select>
</mapper> </mapper>

@ -118,3 +118,8 @@ export const deleteProduct = async (id: number) => {
export const exportProduct = async (params) => { export const exportProduct = async (params) => {
return await request.download({ url: `/xxjj/product/export-excel`, params }) return await request.download({ url: `/xxjj/product/export-excel`, params })
} }
// 查询商品列表
export const getProductPage1 = async (params) => {
return await request.get({ url: `/xxjj/product/productPage`, params })
}

@ -228,7 +228,8 @@ export enum DICT_TYPE {
UNIT_TYPE = 'unit_type', //单位类型 UNIT_TYPE = 'unit_type', //单位类型
SOURCE = 'source' , //单位来源 SOURCE = 'source' , //单位来源
UNIT_STATUS = 'unit_status', //单位状态 UNIT_STATUS = 'unit_status', //单位状态
LIFE_CYCLE = 'life_cycle' ,//生命周期
SALES_STATUS = 'sales_status', //商品表销售状态
// ============= CONTRACT 模块================= // ============= CONTRACT 模块=================
CONTRACT_STATUS = 'contract_status', // 合同状态 CONTRACT_STATUS = 'contract_status', // 合同状态

@ -128,9 +128,17 @@
</el-table-column> </el-table-column>
<el-table-column label="品牌id" align="center" prop="brandId" width="150px" /> <el-table-column label="品牌id" align="center" prop="brandId" width="150px" />
<el-table-column label="生命周期" align="center" prop="1" width="150px" /> <el-table-column label="生命周期" align="center" prop="lifeCycle" width="150px" >
<el-table-column label="销售状态" align="center" prop="1" width="150px" sortable/> <template #default="scope">
<dict-tag :type="DICT_TYPE.LIFE_CYCLE" :value="scope.row.lifeCycle" />
</template>
</el-table-column>
<el-table-column label="销售状态" align="center" prop="salesStatus" width="150px" sortable>
<template #default="scope">
<dict-tag :type="DICT_TYPE.SALES_STATUS" :value="scope.row.salesStatus" />
</template>
</el-table-column>
<!-- <el-table-column label="更新者" align="center" prop="updater" width="150px" /> <!-- <el-table-column label="更新者" align="center" prop="updater" width="150px" />
<el-table-column label="更新时间" align="center" prop="updateTime" :formatter="dateFormatter" width="150px" /> --> <el-table-column label="更新时间" align="center" prop="updateTime" :formatter="dateFormatter" width="150px" /> -->
@ -204,6 +212,8 @@ let queryParams: any = reactive({
spec: null, spec: null,
inventoryType: null, inventoryType: null,
brandId: null, brandId: null,
lifeCycle: null,
salesStatus: null,
area: null, area: null,
productTypeId: null, productTypeId: null,
areaCategory: null, areaCategory: null,
@ -292,7 +302,8 @@ const handleSelectionChange = (val) => {
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
const data = await ProductApi.getProductPage(queryParams) // const data = await ProductApi.getProductPage(queryParams)
const data = await ProductApi.getProductPage1(queryParams)
list.value = data.list list.value = data.list
total.value = data.total total.value = data.total
} finally { } finally {

Loading…
Cancel
Save