商品中心前端

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);
}
@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;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@ -287,4 +288,19 @@ public class ProductBaseVO {
@Schema(description = "预留字段6")
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)
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 com.baomidou.mybatisplus.core.metadata.IPage;
import com.yunxi.scm.framework.common.pojo.PageResult;
import com.yunxi.scm.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.yunxi.scm.framework.mybatis.core.mapper.BaseMapperX;
import com.yunxi.scm.module.xxjj.dal.dataobject.product.ProductDO;
import org.apache.ibatis.annotations.Mapper;
import com.yunxi.scm.module.xxjj.controller.admin.product.vo.*;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -200,4 +202,5 @@ public interface ProductMapper extends BaseMapperX<ProductDO> {
.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);
/**
*
* @param
* @return
*/
PageResult<ProductDO> ProductPageList1(ProductPageReqVO reqVO);
}

@ -1,5 +1,7 @@
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.service.user.AdminUserService;
import com.yunxi.scm.module.xxjj.dal.dataobject.subjectbasic.SubjectBasicDO;
@ -100,4 +102,11 @@ public class ProductServiceImpl implements ProductService {
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/
-->
<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
a.*,
b.id AS ctaeId,
b.category_name,
c.brand_name,
z.life_cycle,
z.sales_status
b.category_name AS categoryName,
c.brand_name AS brandName,
z.life_cycle AS lifeCycle,
z.sales_status AS salesStatus
FROM
xxjj_product a
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
WHERE
a.deleted=0
<where>
<if test="reqVO.name != null and reqVO.name !=''">
a.name LIKE CONCAT('%',#{name},'%')
@ -44,14 +43,8 @@
<if test="reqVO.shortName != null and reqVO.shortName !=''">
a.short_name LIKE CONCAT('%',#{shortName},'%')
</if>
<if test="reqVO.startDate != null and reqVO.endDate != null">
AND a.update_time &gt; #{reqVO} AND a.update_time &lt;= #{reqVO}
</if>
</where>
GROUP BY
a.id
</select>
</mapper>

@ -118,3 +118,8 @@ export const deleteProduct = async (id: number) => {
export const exportProduct = async (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', //单位类型
SOURCE = 'source' , //单位来源
UNIT_STATUS = 'unit_status', //单位状态
LIFE_CYCLE = 'life_cycle' ,//生命周期
SALES_STATUS = 'sales_status', //商品表销售状态
// ============= CONTRACT 模块=================
CONTRACT_STATUS = 'contract_status', // 合同状态

@ -128,9 +128,17 @@
</el-table-column>
<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="1" width="150px" sortable/>
<el-table-column label="生命周期" align="center" prop="lifeCycle" width="150px" >
<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="updateTime" :formatter="dateFormatter" width="150px" /> -->
@ -204,6 +212,8 @@ let queryParams: any = reactive({
spec: null,
inventoryType: null,
brandId: null,
lifeCycle: null,
salesStatus: null,
area: null,
productTypeId: null,
areaCategory: null,
@ -292,7 +302,8 @@ const handleSelectionChange = (val) => {
const getList = async () => {
loading.value = true
try {
const data = await ProductApi.getProductPage(queryParams)
// const data = await ProductApi.getProductPage(queryParams)
const data = await ProductApi.getProductPage1(queryParams)
list.value = data.list
total.value = data.total
} finally {

Loading…
Cancel
Save