新增食材管理

This commit is contained in:
huangdeliang 2020-12-16 22:10:20 +08:00
parent 27bf41b006
commit d1786f5327
7 changed files with 346 additions and 200 deletions

View File

@ -63,6 +63,26 @@ public class SysIngredient extends BaseEntity
@Excel(name = "推荐") @Excel(name = "推荐")
private String recommend; private String recommend;
private Long[] recIds;
private Long[] notRecIds;
public Long[] getRecIds() {
return recIds;
}
public Long[] getNotRecIds() {
return notRecIds;
}
public void setNotRecIds(Long[] notRecIds) {
this.notRecIds = notRecIds;
}
public void setRedIds(Long[] recIds) {
this.recIds = recIds;
}
public void setId(Long id) public void setId(Long id)
{ {
this.id = id; this.id = id;

View File

@ -0,0 +1,30 @@
package com.stdiet.custom.domain;
public class SysIngredientNotRec {
private Long ingredientId;
private Long notRecommandId;
public Long getIngredientId() {
return ingredientId;
}
public void setIngredientId(Long ingredientId) {
this.ingredientId = ingredientId;
}
public Long getRecommandId() {
return notRecommandId;
}
public void setRecommandId(Long recommandId) {
this.notRecommandId = recommandId;
}
@Override
public String toString() {
return "SysIngredientRec{" +
"ingredientId=" + ingredientId +
", notRecommandId=" + notRecommandId +
'}';
}
}

View File

@ -0,0 +1,30 @@
package com.stdiet.custom.domain;
public class SysIngredientRec {
private Long ingredientId;
private Long recommandId;
public Long getIngredientId() {
return ingredientId;
}
public void setIngredientId(Long ingredientId) {
this.ingredientId = ingredientId;
}
public Long getRecommandId() {
return recommandId;
}
public void setRecommandId(Long recommandId) {
this.recommandId = recommandId;
}
@Override
public String toString() {
return "SysIngredientRec{" +
"ingredientId=" + ingredientId +
", recommandId=" + recommandId +
'}';
}
}

View File

@ -2,6 +2,8 @@ package com.stdiet.custom.mapper;
import java.util.List; import java.util.List;
import com.stdiet.custom.domain.SysIngredient; import com.stdiet.custom.domain.SysIngredient;
import com.stdiet.custom.domain.SysIngredientNotRec;
import com.stdiet.custom.domain.SysIngredientRec;
/** /**
* 食材Mapper接口 * 食材Mapper接口
@ -58,4 +60,12 @@ public interface SysIngredientMapper
* @return 结果 * @return 结果
*/ */
public int deleteSysIngredientByIds(Long[] ids); public int deleteSysIngredientByIds(Long[] ids);
public int batchIngredientRec(List<SysIngredientRec> ingredientRecList);
public int batchIngredientNotRec(List<SysIngredientNotRec> ingredientNotRecList);
public int deleteIngredentRecByIngredientId(Long recId);
public int deleteIngredentNotRecByIngredientId(Long notRecId);
} }

View File

@ -1,12 +1,17 @@
package com.stdiet.custom.service.impl; package com.stdiet.custom.service.impl;
import java.util.List;
import com.stdiet.common.utils.DateUtils; import com.stdiet.common.utils.DateUtils;
import com.stdiet.common.utils.StringUtils;
import com.stdiet.custom.domain.SysIngredient;
import com.stdiet.custom.domain.SysIngredientNotRec;
import com.stdiet.custom.domain.SysIngredientRec;
import com.stdiet.custom.mapper.SysIngredientMapper;
import com.stdiet.custom.service.ISysIngredientService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysIngredientMapper;
import com.stdiet.custom.domain.SysIngredient; import java.util.ArrayList;
import com.stdiet.custom.service.ISysIngredientService; import java.util.List;
/** /**
* 食材Service业务层处理 * 食材Service业务层处理
@ -15,8 +20,7 @@ import com.stdiet.custom.service.ISysIngredientService;
* @date 2020-12-15 * @date 2020-12-15
*/ */
@Service @Service
public class SysIngredientServiceImpl implements ISysIngredientService public class SysIngredientServiceImpl implements ISysIngredientService {
{
@Autowired @Autowired
private SysIngredientMapper sysIngredientMapper; private SysIngredientMapper sysIngredientMapper;
@ -27,8 +31,7 @@ public class SysIngredientServiceImpl implements ISysIngredientService
* @return 食材 * @return 食材
*/ */
@Override @Override
public SysIngredient selectSysIngredientById(Long id) public SysIngredient selectSysIngredientById(Long id) {
{
return sysIngredientMapper.selectSysIngredientById(id); return sysIngredientMapper.selectSysIngredientById(id);
} }
@ -39,8 +42,7 @@ public class SysIngredientServiceImpl implements ISysIngredientService
* @return 食材 * @return 食材
*/ */
@Override @Override
public List<SysIngredient> selectSysIngredientList(SysIngredient sysIngredient) public List<SysIngredient> selectSysIngredientList(SysIngredient sysIngredient) {
{
return sysIngredientMapper.selectSysIngredientList(sysIngredient); return sysIngredientMapper.selectSysIngredientList(sysIngredient);
} }
@ -51,10 +53,54 @@ public class SysIngredientServiceImpl implements ISysIngredientService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertSysIngredient(SysIngredient sysIngredient) public int insertSysIngredient(SysIngredient sysIngredient) {
{
sysIngredient.setCreateTime(DateUtils.getNowDate()); sysIngredient.setCreateTime(DateUtils.getNowDate());
return sysIngredientMapper.insertSysIngredient(sysIngredient); int rows = sysIngredientMapper.insertSysIngredient(sysIngredient);
//
insertRecommand(sysIngredient);
//
insertNotRecommand(sysIngredient);
return rows;
}
/**
* 新增推荐标签
* @param ingredient
*/
public void insertRecommand(SysIngredient ingredient) {
Long[] recIds = ingredient.getRecIds();
if(StringUtils.isNotNull(recIds)) {
List<SysIngredientRec> list = new ArrayList<SysIngredientRec>();
for(Long recId: recIds) {
SysIngredientRec rec = new SysIngredientRec();
rec.setIngredientId(ingredient.getId());
rec.setRecommandId(recId);
list.add(rec);
}
if(list.size() > 0) {
sysIngredientMapper.batchIngredientRec(list);
}
}
}
/**
* 新增不推荐标签
* @param ingredient
*/
public void insertNotRecommand(SysIngredient ingredient) {
Long[] notRecIds = ingredient.getNotRecIds();
if(StringUtils.isNotNull(notRecIds)) {
List<SysIngredientNotRec> list = new ArrayList<SysIngredientNotRec>();
for(Long recId: notRecIds) {
SysIngredientNotRec notRec = new SysIngredientNotRec();
notRec.setIngredientId(ingredient.getId());
notRec.setRecommandId(recId);
list.add(notRec);
}
if(list.size() > 0) {
sysIngredientMapper.batchIngredientNotRec(list);
}
}
} }
/** /**
@ -64,9 +110,13 @@ public class SysIngredientServiceImpl implements ISysIngredientService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateSysIngredient(SysIngredient sysIngredient) public int updateSysIngredient(SysIngredient sysIngredient) {
{
sysIngredient.setUpdateTime(DateUtils.getNowDate()); sysIngredient.setUpdateTime(DateUtils.getNowDate());
Long ingredientId = sysIngredient.getId();
sysIngredientMapper.deleteIngredentNotRecByIngredientId(ingredientId);
insertNotRecommand(sysIngredient);
sysIngredientMapper.deleteIngredentRecByIngredientId(ingredientId);
insertRecommand(sysIngredient);
return sysIngredientMapper.updateSysIngredient(sysIngredient); return sysIngredientMapper.updateSysIngredient(sysIngredient);
} }
@ -77,8 +127,7 @@ public class SysIngredientServiceImpl implements ISysIngredientService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteSysIngredientByIds(Long[] ids) public int deleteSysIngredientByIds(Long[] ids) {
{
return sysIngredientMapper.deleteSysIngredientByIds(ids); return sysIngredientMapper.deleteSysIngredientByIds(ids);
} }
@ -89,8 +138,9 @@ public class SysIngredientServiceImpl implements ISysIngredientService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteSysIngredientById(Long id) public int deleteSysIngredientById(Long id) {
{ sysIngredientMapper.deleteIngredentRecByIngredientId(id);
sysIngredientMapper.deleteIngredentNotRecByIngredientId(id);
return sysIngredientMapper.deleteSysIngredientById(id); return sysIngredientMapper.deleteSysIngredientById(id);
} }
} }

View File

@ -8,16 +8,11 @@
<result property="id" column="id" /> <result property="id" column="id" />
<result property="name" column="name" /> <result property="name" column="name" />
<result property="type" column="type" /> <result property="type" column="type" />
<result property="recEstimation" column="rec_estimation" />
<result property="recEstUnit" column="rec_est_unit" />
<result property="recPortion" column="rec_portion" />
<result property="proteinRatio" column="protein_ratio" /> <result property="proteinRatio" column="protein_ratio" />
<result property="fatRatio" column="fat_ratio" /> <result property="fatRatio" column="fat_ratio" />
<result property="carbonRatio" column="carbon_ratio" /> <result property="carbonRatio" column="carbon_ratio" />
<result property="remark" column="remark" />
<result property="area" column="area" /> <result property="area" column="area" />
<result property="notRec" column="not_rec" /> <result property="remark" column="remark" />
<result property="recommend" column="recommend" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
@ -25,7 +20,7 @@
</resultMap> </resultMap>
<sql id="selectSysIngredientVo"> <sql id="selectSysIngredientVo">
select id, name, type, rec_estimation, rec_est_unit, rec_portion, protein_ratio, fat_ratio, carbon_ratio, remark, area, not_rec, recommend, create_by, create_time, update_by, update_time from sys_ingredient select id, name, type, protein_ratio, fat_ratio, carbon_ratio, area, remark, create_by, create_time, update_by, update_time from sys_ingredient
</sql> </sql>
<select id="selectSysIngredientList" parameterType="SysIngredient" resultMap="SysIngredientResult"> <select id="selectSysIngredientList" parameterType="SysIngredient" resultMap="SysIngredientResult">
@ -34,8 +29,6 @@
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if> <if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="type != null and type != ''"> and type = #{type}</if> <if test="type != null and type != ''"> and type = #{type}</if>
<if test="area != null and area != ''"> and area = #{area}</if> <if test="area != null and area != ''"> and area = #{area}</if>
<if test="notRec != null and notRec != ''"> and not_rec like concat('%', #{notRec}, '%')</if>
<if test="recommend != null and recommend != ''"> and recommend like concat('%', #{recommend}, '%')</if>
</where> </where>
</select> </select>
@ -49,16 +42,11 @@
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="name != null">name,</if> <if test="name != null">name,</if>
<if test="type != null">type,</if> <if test="type != null">type,</if>
<if test="recEstimation != null">rec_estimation,</if>
<if test="recEstUnit != null">rec_est_unit,</if>
<if test="recPortion != null">rec_portion,</if>
<if test="proteinRatio != null">protein_ratio,</if> <if test="proteinRatio != null">protein_ratio,</if>
<if test="fatRatio != null">fat_ratio,</if> <if test="fatRatio != null">fat_ratio,</if>
<if test="carbonRatio != null">carbon_ratio,</if> <if test="carbonRatio != null">carbon_ratio,</if>
<if test="remark != null">remark,</if>
<if test="area != null">area,</if> <if test="area != null">area,</if>
<if test="notRec != null">not_rec,</if> <if test="remark != null">remark,</if>
<if test="recommend != null">recommend,</if>
<if test="createBy != null">create_by,</if> <if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
@ -67,16 +55,11 @@
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="name != null">#{name},</if> <if test="name != null">#{name},</if>
<if test="type != null">#{type},</if> <if test="type != null">#{type},</if>
<if test="recEstimation != null">#{recEstimation},</if>
<if test="recEstUnit != null">#{recEstUnit},</if>
<if test="recPortion != null">#{recPortion},</if>
<if test="proteinRatio != null">#{proteinRatio},</if> <if test="proteinRatio != null">#{proteinRatio},</if>
<if test="fatRatio != null">#{fatRatio},</if> <if test="fatRatio != null">#{fatRatio},</if>
<if test="carbonRatio != null">#{carbonRatio},</if> <if test="carbonRatio != null">#{carbonRatio},</if>
<if test="remark != null">#{remark},</if>
<if test="area != null">#{area},</if> <if test="area != null">#{area},</if>
<if test="notRec != null">#{notRec},</if> <if test="remark != null">#{remark},</if>
<if test="recommend != null">#{recommend},</if>
<if test="createBy != null">#{createBy},</if> <if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
@ -84,21 +67,38 @@
</trim> </trim>
</insert> </insert>
<insert id="batchIngredientRec" >
insert into sys_ingredient_rec(ingredient_id, rec_id) values
<foreach collection="list" separator="," item="item" index="index">
(#{item.ingredientId},#{item.recommandId})
</foreach>
</insert>
<insert id="batchIngredientNotRec" >
insert into sys_ingredient_not_rec(ingredient_id, not_rec_id) values
<foreach collection="list" separator="," item="item" index="index">
(#{item.ingredientId},#{item.notRecommandId})
</foreach>
</insert>
<delete id="deleteIngredentRecByIngredientId" parameterType="Long">
delete from sys_ingredient_rec where ingredient_id=#{ingredientId}
</delete>
<delete id="deleteIngredentNotRecByIngredientId" parameterType="Long">
delete from sys_ingredient_not_rec where ingredient_id=#{ingredientId}
</delete>
<update id="updateSysIngredient" parameterType="SysIngredient"> <update id="updateSysIngredient" parameterType="SysIngredient">
update sys_ingredient update sys_ingredient
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="name != null">name = #{name},</if> <if test="name != null">name = #{name},</if>
<if test="type != null">type = #{type},</if> <if test="type != null">type = #{type},</if>
<if test="recEstimation != null">rec_estimation = #{recEstimation},</if>
<if test="recEstUnit != null">rec_est_unit = #{recEstUnit},</if>
<if test="recPortion != null">rec_portion = #{recPortion},</if>
<if test="proteinRatio != null">protein_ratio = #{proteinRatio},</if> <if test="proteinRatio != null">protein_ratio = #{proteinRatio},</if>
<if test="fatRatio != null">fat_ratio = #{fatRatio},</if> <if test="fatRatio != null">fat_ratio = #{fatRatio},</if>
<if test="carbonRatio != null">carbon_ratio = #{carbonRatio},</if> <if test="carbonRatio != null">carbon_ratio = #{carbonRatio},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="area != null">area = #{area},</if> <if test="area != null">area = #{area},</if>
<if test="notRec != null">not_rec = #{notRec},</if> <if test="remark != null">remark = #{remark},</if>
<if test="recommend != null">recommend = #{recommend},</if>
<if test="createBy != null">create_by = #{createBy},</if> <if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>

View File

@ -44,28 +44,31 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['custom:ingredient:add']" v-hasPermi="['custom:ingredient:add']"
>新增</el-button> >新增
</el-col> </el-button>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['custom:ingredient:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['custom:ingredient:remove']"
>删除</el-button>
</el-col> </el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['custom:ingredient:edit']"-->
<!-- >修改-->
<!-- </el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['custom:ingredient:remove']"-->
<!-- >删除-->
<!-- </el-button>-->
<!-- </el-col>-->
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -73,25 +76,23 @@
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['custom:ingredient:export']" v-hasPermi="['custom:ingredient:export']"
>导出</el-button> >导出
</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="ingredientList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="ingredientList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="id" align="center" prop="id" /> <!-- <el-table-column label="id" align="center" prop="id" />-->
<el-table-column label="食材名称" align="center" prop="name"/> <el-table-column label="食材名称" align="center" prop="name"/>
<el-table-column label="食材类别" align="center" prop="type" :formatter="typeFormat"/> <el-table-column label="食材类别" align="center" prop="type" :formatter="typeFormat"/>
<el-table-column label="推荐分量" align="center" prop="recEstimation" /> <el-table-column label="蛋白质比例(100g)" align="center" prop="proteinRatio"/>
<el-table-column label="推荐分量单位" align="center" prop="recEstUnit" :formatter="recEstUnitFormat" /> <el-table-column label="脂肪比例(100g)" align="center" prop="fatRatio"/>
<el-table-column label="推荐分量" align="center" prop="recPortion" /> <el-table-column label="碳水比例(100g)" align="center" prop="carbonRatio"/>
<el-table-column label="蛋白质比例" align="center" prop="proteinRatio" />
<el-table-column label="脂肪比例" align="center" prop="fatRatio" />
<el-table-column label="碳水比例" align="center" prop="carbonRatio" />
<el-table-column label="地域" align="center" prop="area" :formatter="areaFormat"/> <el-table-column label="地域" align="center" prop="area" :formatter="areaFormat"/>
<el-table-column label="忌口人群" align="center" prop="notRec" :formatter="notRecFormat" /> <el-table-column label="忌口人群" align="center" prop="notRecIds" :formatter="notRecFormat"/>
<el-table-column label="推荐人群" align="center" prop="recommend" :formatter="recommendFormat" /> <el-table-column label="推荐人群" align="center" prop="recIds" :formatter="recommendFormat"/>
<el-table-column label="备注" align="center" prop="remark"/> <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">
<template slot-scope="scope"> <template slot-scope="scope">
@ -101,14 +102,16 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['custom:ingredient:edit']" v-hasPermi="['custom:ingredient:edit']"
>修改</el-button> >修改
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['custom:ingredient:remove']" v-hasPermi="['custom:ingredient:remove']"
>删除</el-button> >删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -122,12 +125,34 @@
/> />
<!-- 添加或修改食材对话框 --> <!-- 添加或修改食材对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="620px" append-to-body>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="食材名称" prop="name"> <el-col :span="12">
<el-form-item label="食材名称" prop="name" label-width="90px">
<el-input v-model="form.name" placeholder="请输入食材名称"/> <el-input v-model="form.name" placeholder="请输入食材名称"/>
</el-form-item> </el-form-item>
<el-form-item label="食材类别" prop="type"> </el-col>
<el-col :span="12">
<el-form-item label="蛋白质比例" prop="proteinRatio" label-width="90px">
<el-input v-model="form.proteinRatio" placeholder="请输入蛋白质比例" style="width: 150px"/>
/100g
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="脂肪比例" prop="fatRatio" label-width="90px">
<el-input v-model="form.fatRatio" placeholder="请输入脂肪比例" style="width: 150px"/>
/100g
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="碳水比例" prop="carbonRatio" label-width="90px">
<el-input v-model="form.carbonRatio" placeholder="请输入碳水比例" style="width: 150px"/>
/100g
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="食材类别" prop="type" label-width="90px">
<el-select v-model="form.type" placeholder="请选择食材类别"> <el-select v-model="form.type" placeholder="请选择食材类别">
<el-option <el-option
v-for="dict in typeOptions" v-for="dict in typeOptions"
@ -137,32 +162,9 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="推荐分量" prop="recEstimation"> </el-col>
<el-input v-model="form.recEstimation" placeholder="请输入推荐分量" /> <el-col :span="12">
</el-form-item> <el-form-item label="地域" prop="area" label-width="90px">
<el-form-item label="推荐分量单位" prop="recEstUnit">
<el-select v-model="form.recEstUnit" placeholder="请选择推荐分量单位">
<el-option
v-for="dict in recEstUnitOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="parseInt(dict.dictValue)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="推荐分量" prop="recPortion">
<el-input v-model="form.recPortion" placeholder="请输入推荐分量" />
</el-form-item>
<el-form-item label="蛋白质比例" prop="proteinRatio">
<el-input v-model="form.proteinRatio" placeholder="请输入蛋白质比例" />
</el-form-item>
<el-form-item label="脂肪比例" prop="fatRatio">
<el-input v-model="form.fatRatio" placeholder="请输入脂肪比例" />
</el-form-item>
<el-form-item label="碳水比例" prop="carbonRatio">
<el-input v-model="form.carbonRatio" placeholder="请输入碳水比例" />
</el-form-item>
<el-form-item label="地域" prop="area">
<el-select v-model="form.area" placeholder="请选择地域"> <el-select v-model="form.area" placeholder="请选择地域">
<el-option <el-option
v-for="dict in areaOptions" v-for="dict in areaOptions"
@ -172,8 +174,10 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="忌口人群"> </el-col>
<el-checkbox-group v-model="form.notRec"> <el-col :span="24">
<el-form-item label="忌口人群" label-width="90px">
<el-checkbox-group v-model="form.notRecIds">
<el-checkbox <el-checkbox
v-for="dict in notRecOptions" v-for="dict in notRecOptions"
:key="dict.dictValue" :key="dict.dictValue"
@ -182,8 +186,10 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item label="推荐人群"> </el-col>
<el-checkbox-group v-model="form.recommend"> <el-col :span="24">
<el-form-item label="推荐人群" label-width="90px">
<el-checkbox-group v-model="form.recIds">
<el-checkbox <el-checkbox
v-for="dict in recommendOptions" v-for="dict in recommendOptions"
:key="dict.dictValue" :key="dict.dictValue"
@ -192,10 +198,14 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> </el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark" label-width="90px">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/> <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col>
</el-form> </el-form>
</el-row>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
@ -205,7 +215,14 @@
</template> </template>
<script> <script>
import { listIngredient, getIngredient, delIngredient, addIngredient, updateIngredient, exportIngredient } from "@/api/custom/ingredient"; import {
addIngredient,
delIngredient,
exportIngredient,
getIngredient,
listIngredient,
updateIngredient
} from "@/api/custom/ingredient";
export default { export default {
name: "Ingredient", name: "Ingredient",
@ -231,8 +248,6 @@
open: false, open: false,
// //
typeOptions: [], typeOptions: [],
//
recEstUnitOptions: [],
// //
areaOptions: [], areaOptions: [],
// //
@ -246,14 +261,13 @@
name: null, name: null,
type: null, type: null,
area: null, area: null,
notRec: null, notRecIds: null,
recommend: null, recIds: null,
}, },
// //
form: {}, form: {},
// //
rules: { rules: {}
}
}; };
}, },
created() { created() {
@ -261,9 +275,6 @@
this.getDicts("cus_ing_type").then(response => { this.getDicts("cus_ing_type").then(response => {
this.typeOptions = response.data; this.typeOptions = response.data;
}); });
this.getDicts("cus_cus_unit").then(response => {
this.recEstUnitOptions = response.data;
});
this.getDicts("cus_area").then(response => { this.getDicts("cus_area").then(response => {
this.areaOptions = response.data; this.areaOptions = response.data;
}); });
@ -288,21 +299,17 @@
typeFormat(row, column) { typeFormat(row, column) {
return this.selectDictLabel(this.typeOptions, row.type); return this.selectDictLabel(this.typeOptions, row.type);
}, },
//
recEstUnitFormat(row, column) {
return this.selectDictLabel(this.recEstUnitOptions, row.recEstUnit);
},
// //
areaFormat(row, column) { areaFormat(row, column) {
return this.selectDictLabel(this.areaOptions, row.area); return this.selectDictLabel(this.areaOptions, row.area);
}, },
// //
notRecFormat(row, column) { notRecFormat(row, column) {
return this.selectDictLabels(this.notRecOptions, row.notRec); return this.selectDictLabels(this.notRecOptions, row.notRecIds.join(','));
}, },
// //
recommendFormat(row, column) { recommendFormat(row, column) {
return this.selectDictLabels(this.recommendOptions, row.recommend); return this.selectDictLabels(this.recommendOptions, row.recIds.join(','));
}, },
// //
cancel() { cancel() {
@ -315,15 +322,12 @@
id: null, id: null,
name: null, name: null,
type: null, type: null,
recEstimation: null,
recEstUnit: null,
recPortion: null,
proteinRatio: null, proteinRatio: null,
fatRatio: null, fatRatio: null,
carbonRatio: null, carbonRatio: null,
area: null, area: null,
notRec: [], notRecIds: [],
recommend: [], recIds: [],
remark: null, remark: null,
createBy: null, createBy: null,
createTime: null, createTime: null,
@ -360,8 +364,8 @@
const id = row.id || this.ids const id = row.id || this.ids
getIngredient(id).then(response => { getIngredient(id).then(response => {
this.form = response.data; this.form = response.data;
this.form.notRec = this.form.notRec.split(","); // this.form.notRecIds = this.form.notRecIds.split(",");
this.form.recommend = this.form.recommend.split(","); // this.form.recIds = this.form.recIds.split(",");
this.open = true; this.open = true;
this.title = "修改食材"; this.title = "修改食材";
}); });
@ -370,8 +374,8 @@
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
this.form.notRec = this.form.notRec.join(","); // this.form.notRecIds = this.form.notRecIds.join(",");
this.form.recommend = this.form.recommend.join(","); // this.form.recIds = this.form.recIds.join(",");
if (this.form.id != null) { if (this.form.id != null) {
updateIngredient(this.form).then(response => { updateIngredient(this.form).then(response => {
if (response.code === 200) { if (response.code === 200) {
@ -404,7 +408,8 @@
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.msgSuccess("删除成功"); this.msgSuccess("删除成功");
}).catch(function() {}); }).catch(function () {
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
@ -417,7 +422,8 @@
return exportIngredient(queryParams); return exportIngredient(queryParams);
}).then(response => { }).then(response => {
this.download(response.msg); this.download(response.msg);
}).catch(function() {}); }).catch(function () {
});
} }
} }
}; };