!72 订单系统修改

Merge pull request !72 from 德仔/develop
This commit is contained in:
德仔
2021-02-24 18:56:34 +08:00
committed by Gitee
14 changed files with 783 additions and 544 deletions

View File

@ -84,8 +84,8 @@ public class SysOrderController extends OrderBaseController {
order.setPhone(StringUtils.hiddenPhoneNumber(order.getPhone())); order.setPhone(StringUtils.hiddenPhoneNumber(order.getPhone()));
} }
//根据服务时长、赠送天数计算服务天数 //根据服务时长、赠送天数计算服务天数
int month = order.getServeTimeId() != null ? order.getServeTimeId().intValue()/30 : 0; int month = order.getServeTimeId() != null ? order.getServeTimeId().intValue() / 30 : 0;
if(order.getStartTime() != null && order.getServerEndTime() != null && order.getServeTimeId() != null && month > 0){ if (order.getStartTime() != null && order.getServerEndTime() != null && order.getServeTimeId() != null && month > 0) {
long serverDay = ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(order.getStartTime()), DateUtils.dateToLocalDate(order.getStartTime()).plusMonths(month).plusDays(order.getGiveServeDay() == null ? 0 : order.getGiveServeDay())) + 1; long serverDay = ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(order.getStartTime()), DateUtils.dateToLocalDate(order.getStartTime()).plusMonths(month).plusDays(order.getGiveServeDay() == null ? 0 : order.getGiveServeDay())) + 1;
order.setServerDay(Integer.parseInt(serverDay + "")); order.setServerDay(Integer.parseInt(serverDay + ""));
} }
@ -155,9 +155,9 @@ public class SysOrderController extends OrderBaseController {
@GetMapping(value = "/getInfoDetail") @GetMapping(value = "/getInfoDetail")
public AjaxResult getInfoDetail(@RequestParam("orderId") Long orderId) { public AjaxResult getInfoDetail(@RequestParam("orderId") Long orderId) {
SysOrder order = sysOrderService.selectSysOrderById(orderId); SysOrder order = sysOrderService.selectSysOrderById(orderId);
if(order != null){ if (order != null) {
List<SysUser> userList = userService.selectAllUser(); List<SysUser> userList = userService.selectAllUser();
for(SysUser user : userList){ for (SysUser user : userList) {
if (user.getUserId().equals(order.getPreSaleId())) { if (user.getUserId().equals(order.getPreSaleId())) {
order.setPreSale(user.getNickName()); order.setPreSale(user.getNickName());
} }
@ -212,9 +212,9 @@ public class SysOrderController extends OrderBaseController {
*/ */
@PreAuthorize("@ss.hasPermi('custom:order:remove')") @PreAuthorize("@ss.hasPermi('custom:order:remove')")
@Log(title = "销售订单", businessType = BusinessType.DELETE) @Log(title = "销售订单", businessType = BusinessType.DELETE)
@DeleteMapping("/{orderIds}") @DeleteMapping("/{orderId}")
public AjaxResult remove(@PathVariable Long[] orderIds) { public AjaxResult remove(@PathVariable Long orderId) {
return toAjax(sysOrderService.deleteSysOrderByIds(orderIds)); return toAjax(sysOrderService.deleteSysOrderById(orderId));
} }

View File

@ -1,6 +1,8 @@
package com.stdiet.custom.service; package com.stdiet.custom.service;
import java.util.List; import java.util.List;
import com.stdiet.custom.domain.SysOrder;
import com.stdiet.custom.domain.SysRecipesPlan; import com.stdiet.custom.domain.SysRecipesPlan;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
@ -87,4 +89,6 @@ public interface ISysRecipesPlanService
* @return * @return
*/ */
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan); List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
public void myGenerateRecipesPlan(SysOrder sysOrder);
} }

View File

@ -1,22 +1,22 @@
package com.stdiet.custom.service.impl; package com.stdiet.custom.service.impl;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.custom.domain.SysOrder;
import com.stdiet.custom.mapper.SysOrderMapper;
import com.stdiet.custom.service.ISysCommissionDayService;
import com.stdiet.custom.service.ISysOrderPauseService;
import com.stdiet.custom.service.ISysOrderService;
import com.stdiet.custom.service.ISysRecipesPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.stdiet.common.utils.DateUtils;
import com.stdiet.custom.service.ISysCommissionDayService;
import com.stdiet.custom.service.ISysOrderPauseService;
import com.stdiet.custom.service.ISysRecipesPlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.stdiet.custom.mapper.SysOrderMapper;
import com.stdiet.custom.domain.SysOrder;
import com.stdiet.custom.service.ISysOrderService;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 销售订单Service业务层处理 * 销售订单Service业务层处理
* *
@ -75,10 +75,10 @@ public class SysOrderServiceImpl implements ISysOrderService {
setOrderServerEndDate(sysOrder); setOrderServerEndDate(sysOrder);
sysOrder.setOrderId(Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, orderTime))); sysOrder.setOrderId(Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, orderTime)));
int row = sysOrderMapper.insertSysOrder(sysOrder); int row = sysOrderMapper.insertSysOrder(sysOrder);
if(row > 0){ // if (row > 0) {
//异步生成食谱计划 // //异步生成食谱计划
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId()); // sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
} // }
return row; return row;
} }
@ -97,9 +97,10 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setUpdateTime(DateUtils.getNowDate()); sysOrder.setUpdateTime(DateUtils.getNowDate());
//更新订单 //更新订单
int row = sysOrderMapper.updateSysOrder(sysOrder); int row = sysOrderMapper.updateSysOrder(sysOrder);
if(row > 0){ // 审核后的订单才生成食谱
if (row > 0 && oldSysOrder.getReviewStatus().equals("no") && sysOrder.getReviewStatus().equals("yes")) {
//异步更新食谱计划 //异步更新食谱计划
if(isNeedRegenerateRecipesPlan(oldSysOrder, sysOrder)){ if (isNeedRegenerateRecipesPlan(oldSysOrder, sysOrder)) {
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId()); sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
} }
} }
@ -108,19 +109,20 @@ public class SysOrderServiceImpl implements ISysOrderService {
/** /**
* 判断是否需要重新生成食谱计划 * 判断是否需要重新生成食谱计划
*
* @param oldSysOrder * @param oldSysOrder
* @param newSysOrder * @param newSysOrder
* @return * @return
*/ */
private boolean isNeedRegenerateRecipesPlan(SysOrder oldSysOrder, SysOrder newSysOrder){ private boolean isNeedRegenerateRecipesPlan(SysOrder oldSysOrder, SysOrder newSysOrder) {
if(oldSysOrder.getServeTimeId() != null && newSysOrder.getServeTimeId() != null && oldSysOrder.getServeTimeId().intValue() != newSysOrder.getServeTimeId().intValue()){ if (oldSysOrder.getServeTimeId() != null && newSysOrder.getServeTimeId() != null && oldSysOrder.getServeTimeId().intValue() != newSysOrder.getServeTimeId().intValue()) {
return true; return true;
} }
if(newSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay().intValue() != newSysOrder.getGiveServeDay().intValue()){ if (newSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay().intValue() != newSysOrder.getGiveServeDay().intValue()) {
return true; return true;
} }
if(oldSysOrder.getStartTime() != null && newSysOrder.getStartTime() != null if (oldSysOrder.getStartTime() != null && newSysOrder.getStartTime() != null
&& ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(oldSysOrder.getStartTime()), DateUtils.dateToLocalDate(newSysOrder.getStartTime())) != 0){ && ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(oldSysOrder.getStartTime()), DateUtils.dateToLocalDate(newSysOrder.getStartTime())) != 0) {
return true; return true;
} }
return false; return false;
@ -135,7 +137,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
@Override @Override
public int deleteSysOrderByIds(Long[] orderIds) { public int deleteSysOrderByIds(Long[] orderIds) {
int row = sysOrderMapper.deleteSysOrderByIds(orderIds); int row = sysOrderMapper.deleteSysOrderByIds(orderIds);
if(row > 0){ if (row > 0) {
deletePauseAndPlan(orderIds); deletePauseAndPlan(orderIds);
} }
return row; return row;
@ -150,7 +152,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
@Override @Override
public int deleteSysOrderById(Long orderId) { public int deleteSysOrderById(Long orderId) {
int row = sysOrderMapper.deleteSysOrderById(orderId); int row = sysOrderMapper.deleteSysOrderById(orderId);
if(row > 0){ if (row > 0) {
Long[] orderIdArray = new Long[1]; Long[] orderIdArray = new Long[1];
orderIdArray[0] = orderId; orderIdArray[0] = orderId;
deletePauseAndPlan(orderIdArray); deletePauseAndPlan(orderIdArray);
@ -160,6 +162,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
/** /**
* 计算所有订单总额 * 计算所有订单总额
*
* @param sysOrder * @param sysOrder
* @return * @return
*/ */
@ -170,21 +173,22 @@ public class SysOrderServiceImpl implements ISysOrderService {
/** /**
* 根据订单ID更新该订单的服务到期时间异步更新食谱计划 * 根据订单ID更新该订单的服务到期时间异步更新食谱计划
* @param orderId 订单ID *
* @param orderId 订单ID
* @param updatePlan 是否更新食谱 * @param updatePlan 是否更新食谱
* @return * @return
*/ */
@Override @Override
public int updateOrderServerEndDate(Long orderId, boolean updatePlan){ public int updateOrderServerEndDate(Long orderId, boolean updatePlan) {
int row = 0; int row = 0;
//更新订单服务到期时间 //更新订单服务到期时间
SysOrder sysOrder = selectSysOrderById(orderId); SysOrder sysOrder = selectSysOrderById(orderId);
if(sysOrder != null){ if (sysOrder != null) {
//设置服务到期时间 //设置服务到期时间
setOrderServerEndDate(sysOrder); setOrderServerEndDate(sysOrder);
sysOrder.setUpdateTime(new Date()); sysOrder.setUpdateTime(new Date());
row = updateSysOrder(sysOrder); row = updateSysOrder(sysOrder);
if(row > 0){ if (row > 0) {
//异步更新食谱计划 //异步更新食谱计划
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId()); sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
} }
@ -194,18 +198,20 @@ public class SysOrderServiceImpl implements ISysOrderService {
/** /**
* 给对象SysOrder对象设置服务到期时间 * 给对象SysOrder对象设置服务到期时间
*
* @param sysOrder * @param sysOrder
*/ */
private void setOrderServerEndDate(SysOrder sysOrder){ private void setOrderServerEndDate(SysOrder sysOrder) {
LocalDate serverEndDate = sysCommissionDayService.getServerEndDate(sysOrder); LocalDate serverEndDate = sysCommissionDayService.getServerEndDate(sysOrder);
sysOrder.setServerEndTime(serverEndDate != null ? DateUtils.localDateToDate(serverEndDate) : null); sysOrder.setServerEndTime(serverEndDate != null ? DateUtils.localDateToDate(serverEndDate) : null);
} }
/** /**
* 删除订单的同时删除暂停记录、食谱计划安排 * 删除订单的同时删除暂停记录、食谱计划安排
*
* @param orderIds 订单ID集合 * @param orderIds 订单ID集合
*/ */
private void deletePauseAndPlan(Long[] orderIds){ private void deletePauseAndPlan(Long[] orderIds) {
//删除暂停记录 //删除暂停记录
sysOrderPauseService.deletePauseByOrderId(orderIds); sysOrderPauseService.deletePauseByOrderId(orderIds);
//删除食谱计划 //删除食谱计划

View File

@ -109,6 +109,8 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
return sysRecipesPlanMapper.deleteSysRecipesPlanById(id); return sysRecipesPlanMapper.deleteSysRecipesPlanById(id);
} }
/** /**
* 异步方法根据订单ID生成对应的食谱计划退款订单不生成食谱计划 * 异步方法根据订单ID生成对应的食谱计划退款订单不生成食谱计划
* *
@ -122,8 +124,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
return; return;
} }
SysOrder sysOrder = sysOrderService.selectSysOrderById(orderId); SysOrder sysOrder = sysOrderService.selectSysOrderById(orderId);
//订单为空、金额小于0不进行食谱生成、更新只对2021年开始的订单进行食谱计划生成 //订单为空、金额小于0不进行食谱生成、更新只对2021年开始的订单进行食谱计划生成,判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
if (sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() < 2021) { if (sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() < 2021
|| sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
return; return;
} }
// System.out.println(DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear()); // System.out.println(DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear());
@ -140,10 +143,10 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
//删除该订单对于食谱 //删除该订单对于食谱
delRecipesPlanByOrderId(orderIdArray); delRecipesPlanByOrderId(orderIdArray);
} }
//判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划 // //判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
if (sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) { // if (sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
return; // return;
} // }
SysOrderPause pauseParam = new SysOrderPause(); SysOrderPause pauseParam = new SysOrderPause();
pauseParam.setOrderId(sysOrder.getOrderId()); pauseParam.setOrderId(sysOrder.getOrderId());
//暂停记录列表 //暂停记录列表
@ -288,4 +291,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
public List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan) { public List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan) {
return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan); return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan);
} }
@Override
public void myGenerateRecipesPlan(SysOrder sysOrder) {
}
} }

View File

@ -31,7 +31,7 @@
<sql id="groupAmountVo"> <sql id="groupAmountVo">
SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount
FROM sys_order FROM sys_order
WHERE ${column} IS NOT NULL AND ${column} &lt;&gt; 0 WHERE ${column} IS NOT NULL AND ${column} &lt;&gt; 0 AND del_flag = 0
AND review_status = 'yes' AND review_status = 'yes'
<if test="beginTime != null and beginTime != ''">AND date_format(order_time,'%y%m%d') &gt;= <if test="beginTime != null and beginTime != ''">AND date_format(order_time,'%y%m%d') &gt;=
date_format(${beginTime},'%y%m%d') date_format(${beginTime},'%y%m%d')

View File

@ -90,6 +90,7 @@
and 0 > amount and 0 > amount
</if> </if>
</if> </if>
<if test="true">and del_flag = 0</if>
</where> </where>
</select> </select>
@ -126,6 +127,7 @@
and 0 > amount and 0 > amount
</if> </if>
</if> </if>
<if test="true">and del_flag = 0</if>
</where> </where>
order by order_time desc order by order_time desc
</select> </select>
@ -246,14 +248,14 @@
</update> </update>
<delete id="deleteSysOrderById" parameterType="Long"> <delete id="deleteSysOrderById" parameterType="Long">
delete from sys_order where order_id = #{orderId} update sys_order set del_flag = 1 where order_id = #{orderId}
</delete> </delete>
<delete id="deleteSysOrderByIds" parameterType="String"> <delete id="deleteSysOrderByIds" parameterType="String">
delete from sys_order where order_id in <!-- delete from sys_order where order_id in-->
<foreach item="orderId" collection="array" open="(" separator="," close=")"> <!-- <foreach item="orderId" collection="array" open="(" separator="," close=")">-->
#{orderId} <!-- #{orderId}-->
</foreach> <!-- </foreach>-->
</delete> </delete>
<resultMap type="SysOrder" id="SysOrderResultExtended"> <resultMap type="SysOrder" id="SysOrderResultExtended">
@ -323,7 +325,7 @@
from sys_order o from sys_order o
left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0 left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0
left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0 left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0
where review_status = 'yes' and o.order_time >= '2021-01-01' where review_status = 'yes' and o.order_time >= '2021-01-01' and del_flag = 0
<if test="userId != null"> <if test="userId != null">
and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}) and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId})
</if> </if>

View File

@ -31,12 +31,13 @@
</resultMap> </resultMap>
<sql id="selectSysRecipesPlanVo"> <sql id="selectSysRecipesPlanVo">
select id, order_id, start_date, end_date, recipes_id, send_flag, send_time, create_time, create_by, update_time, update_by, del_flag from sys_recipes_plan select id, order_id, cus_id, start_date, end_date, recipes_id, send_flag, send_time, create_time, create_by, update_time, update_by, del_flag from sys_recipes_plan
</sql> </sql>
<select id="selectSysRecipesPlanList" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult"> <select id="selectSysRecipesPlanList" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
<include refid="selectSysRecipesPlanVo"/> where del_flag = 0 <include refid="selectSysRecipesPlanVo"/> where del_flag = 0
<if test="orderId != null "> and order_id = #{orderId}</if> <if test="orderId != null "> and order_id = #{orderId}</if>
<if test="cusId != null "> and cus_id = #{cusId}</if>
<if test="startDate != null "> and start_date = #{startDate}</if> <if test="startDate != null "> and start_date = #{startDate}</if>
<if test="endDate != null "> and end_date = #{endDate}</if> <if test="endDate != null "> and end_date = #{endDate}</if>
<if test="recipesId != null "> and recipes_id = #{recipesId}</if> <if test="recipesId != null "> and recipes_id = #{recipesId}</if>
@ -53,6 +54,7 @@
insert into sys_recipes_plan insert into sys_recipes_plan
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="orderId != null">order_id,</if> <if test="orderId != null">order_id,</if>
<if test="cusId != null">cus_id,</if>
<if test="startDate != null">start_date,</if> <if test="startDate != null">start_date,</if>
<if test="endDate != null">end_date,</if> <if test="endDate != null">end_date,</if>
<if test="recipesId != null">recipes_id,</if> <if test="recipesId != null">recipes_id,</if>
@ -66,6 +68,7 @@
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="orderId != null">#{orderId},</if> <if test="orderId != null">#{orderId},</if>
<if test="cusId != null">#{cusId},</if>
<if test="startDate != null">#{startDate},</if> <if test="startDate != null">#{startDate},</if>
<if test="endDate != null">#{endDate},</if> <if test="endDate != null">#{endDate},</if>
<if test="recipesId != null">#{recipesId},</if> <if test="recipesId != null">#{recipesId},</if>
@ -83,6 +86,7 @@
update sys_recipes_plan update sys_recipes_plan
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="orderId != null">order_id = #{orderId},</if> <if test="orderId != null">order_id = #{orderId},</if>
<if test="cusId != null">cus_id = #{cusId},</if>
<if test="startDate != null">start_date = #{startDate},</if> <if test="startDate != null">start_date = #{startDate},</if>
<if test="endDate != null">end_date = #{endDate},</if> <if test="endDate != null">end_date = #{endDate},</if>
<if test="recipesId != null">recipes_id = #{recipesId},</if> <if test="recipesId != null">recipes_id = #{recipesId},</if>
@ -111,10 +115,10 @@
<!-- 批量插入食谱计划 --> <!-- 批量插入食谱计划 -->
<insert id="insertBatch"> <insert id="insertBatch">
INSERT INTO sys_recipes_plan INSERT INTO sys_recipes_plan
(order_id, start_date, end_date, send_flag, send_time, recipes_id) (order_id, cus_id, start_date, end_date, send_flag, send_time, recipes_id)
VALUES VALUES
<foreach collection ="list" item="plan" separator =","> <foreach collection ="list" item="plan" separator =",">
(#{plan.orderId}, #{plan.startDate}, #{plan.endDate}, #{plan.sendFlag}, #{plan.sendTime}, #{plan.recipesId}) (#{plan.orderId}, #{plan.cusId}, #{plan.startDate}, #{plan.endDate}, #{plan.sendFlag}, #{plan.sendTime}, #{plan.recipesId})
</foreach > </foreach >
</insert> </insert>

View File

@ -71,18 +71,28 @@
>详情</el-button >详情</el-button
> >
<el-button <el-button
v-if="scope.row.orderType === 'main'" v-if="
scope.row.orderType === 'main' &&
(checkPermi(['custom:order:review']) ||
(checkPermi(['custom:order:edit']) &&
userId === scope.row.preSaleId &&
scope.row.reviewStatus === 'no'))
"
size="mini" size="mini"
type="text" type="text"
@click="handleOnEditClick(scope.row)" @click="handleOnEditClick(scope.row)"
v-hasPermi="['custom:order:edit']"
>修改</el-button >修改</el-button
> >
<el-button <el-button
v-if="scope.row.orderType === 'main'"
size="mini" size="mini"
type="text" type="text"
v-hasPermi="['custom:order:remove']" v-if="
scope.row.orderType === 'main' &&
(checkPermi(['custom:order:review']) ||
(checkPermi(['custom:order:remove']) &&
userId === scope.row.preSaleId &&
scope.row.reviewStatus === 'no'))
"
@click="handleOnDeleteClick(scope.row)" @click="handleOnDeleteClick(scope.row)"
>删除</el-button >删除</el-button
> >
@ -103,8 +113,10 @@
<script> <script>
import { listOrder, delOrder } from "@/api/custom/order"; import { listOrder, delOrder } from "@/api/custom/order";
import OrderEdit from "@/components/OrderEdit"; import OrderEdit from "@/components/OrderEdit";
import OrderAdd from "@/components/OrderAdd"; // import OrderAdd from "@/components/OrderAdd";
import OrderDetail from "@/components/OrderDetail"; import OrderDetail from "@/components/OrderDetail";
import { mapGetters } from "vuex";
import { checkPermi } from "@/utils/permission";
export default { export default {
name: "CustomerOrderDrawer", name: "CustomerOrderDrawer",
@ -121,7 +133,11 @@ export default {
orderList: [], orderList: [],
}; };
}, },
computed: {
...mapGetters(["userId"]),
},
methods: { methods: {
checkPermi,
showDrawer(data) { showDrawer(data) {
// console.log(data); // console.log(data);
this.data = data; this.data = data;
@ -150,6 +166,7 @@ export default {
} }
return arr; return arr;
}, []); }, []);
console.log(this.orderList);
this.visible = true; this.visible = true;
}); });

View File

@ -74,32 +74,34 @@ const mutations = {
const actions = { const actions = {
async init({ commit, dispatch }, payload) { async init({ commit, dispatch }, payload) {
// console.log(payload); return new Promise((res, rej) => {
// // console.log(payload);
commit("updateStateData", payload); //
// commit("updateStateData", payload);
getDicts("cus_cus_unit").then(response => { //
commit("updateStateData", { cusUnitOptions: response.data }); getDicts("cus_cus_unit").then(response => {
}); commit("updateStateData", { cusUnitOptions: response.data });
getDicts("cus_cus_weight").then(response => { });
commit("updateStateData", { cusWeightOptions: response.data }); getDicts("cus_cus_weight").then(response => {
}); commit("updateStateData", { cusWeightOptions: response.data });
getDicts("cus_dishes_type").then(response => { });
commit("updateStateData", { typeOptions: response.data }); getDicts("cus_dishes_type").then(response => {
}); commit("updateStateData", { typeOptions: response.data });
getDicts("cus_dishes_type").then(response => { });
commit("updateStateData", { dishesTypeOptions: response.data }); getDicts("cus_dishes_type").then(response => {
}); commit("updateStateData", { dishesTypeOptions: response.data });
});
// 健康数据 // 健康数据
if (payload.cusId) { if (payload.cusId) {
dispatch("getHealthyData", payload); dispatch("getHealthyData", payload).catch(err => rej(err));
} }
// 食谱数据 // 食谱数据
if (payload.recipesId) { if (payload.recipesId) {
dispatch("getRecipesInfo", payload); dispatch("getRecipesInfo", payload).catch(err => rej(err));
} }
});
}, },
async getHealthyData({ commit }, payload) { async getHealthyData({ commit }, payload) {
commit("updateStateData", { healthDataLoading: true }); commit("updateStateData", { healthDataLoading: true });

View File

@ -1,4 +1,4 @@
import store from '@/store' import store from "@/store";
/** /**
* 字符权限校验 * 字符权限校验
@ -7,20 +7,26 @@ import store from '@/store'
*/ */
export function checkPermi(value) { export function checkPermi(value) {
if (value && value instanceof Array && value.length > 0) { if (value && value instanceof Array && value.length > 0) {
const permissions = store.getters && store.getters.permissions const permissions = store.getters && store.getters.permissions;
const permissionDatas = value const permissionDatas = value;
if (permissions.includes("*:*:*")) {
return true;
}
const hasPermission = permissions.some(permission => { const hasPermission = permissions.some(permission => {
return permissionDatas.includes(permission) return permissionDatas.includes(permission);
}) });
if (!hasPermission) { if (!hasPermission) {
return false return false;
} }
return true return true;
} else { } else {
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`) console.error(
return false `need roles! Like checkPermi="['system:user:add','system:user:edit']"`
);
return false;
} }
} }
@ -31,19 +37,19 @@ export function checkPermi(value) {
*/ */
export function checkRole(value) { export function checkRole(value) {
if (value && value instanceof Array && value.length > 0) { if (value && value instanceof Array && value.length > 0) {
const roles = store.getters && store.getters.roles const roles = store.getters && store.getters.roles;
const permissionRoles = value const permissionRoles = value;
const hasRole = roles.some(role => { const hasRole = roles.some(role => {
return permissionRoles.includes(role) return permissionRoles.includes(role);
}) });
if (!hasRole) { if (!hasRole) {
return false return false;
} }
return true return true;
} else { } else {
console.error(`need roles! Like checkRole="['admin','editor']"`) console.error(`need roles! Like checkRole="['admin','editor']"`);
return false return false;
} }
} }

View File

@ -222,6 +222,7 @@
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
fixed="right"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
> >
<template slot-scope="scope"> <template slot-scope="scope">

View File

@ -213,6 +213,7 @@
<div v-if="showWxFlag"> <div v-if="showWxFlag">
<div <div
v-for="(item, index) in wxList" v-for="(item, index) in wxList"
:key="item.wxAccount"
style="margin: 10px auto auto 40px" style="margin: 10px auto auto 40px"
> >
<span>{{ item.wxAccount }}</span <span>{{ item.wxAccount }}</span

View File

@ -379,27 +379,37 @@
>详情</el-button >详情</el-button
> >
<el-button <el-button
v-if="
checkPermi(['custom:order:review']) ||
(checkPermi(['custom:order:edit']) &&
userId === scope.row.preSaleId &&
scope.row.reviewStatus === 'no')
"
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['custom:order:edit']"
>修改 >修改
</el-button> </el-button>
<el-button <!-- <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-s-data" icon="el-icon-s-data"
@click="orderPauseManage(scope.row)" @click="orderPauseManage(scope.row)"
v-hasPermi="['orderPause:pause:query']" v-hasPermi="['orderPause:pause:query']"
>暂停记录管理 >暂停记录管理
</el-button> </el-button> -->
<el-button <el-button
size="mini" size="mini"
v-if="
checkPermi(['custom:order:review']) ||
(checkPermi(['custom:order:remove']) &&
userId === scope.row.preSaleId &&
scope.row.reviewStatus === 'no')
"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['custom:order:remove']"
>删除 >删除
</el-button> </el-button>
</template> </template>
@ -443,12 +453,7 @@
</template> </template>
<script> <script>
import { import { delOrder, exportOrder, listOrder } from "@/api/custom/order";
delOrder,
exportOrder,
getOptions,
listOrder,
} from "@/api/custom/order";
import dayjs from "dayjs"; import dayjs from "dayjs";
import orderPause from "./orderPause"; import orderPause from "./orderPause";
@ -456,6 +461,7 @@ import OrderDetail from "@/components/OrderDetail";
import OrderEdit from "@/components/OrderEdit"; import OrderEdit from "@/components/OrderEdit";
import AutoHideMessage from "@/components/AutoHideMessage"; import AutoHideMessage from "@/components/AutoHideMessage";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { checkPermi } from "@/utils/permission";
const beginTime = dayjs().startOf("month").format("YYYY-MM-DD"); const beginTime = dayjs().startOf("month").format("YYYY-MM-DD");
const endTime = dayjs().format("YYYY-MM-DD"); const endTime = dayjs().format("YYYY-MM-DD");
@ -542,6 +548,8 @@ export default {
"operatorIdOptions", "operatorIdOptions",
// 运营助理字典 // 运营助理字典
"operatorAssisIdOptions", "operatorAssisIdOptions",
//
"userId",
]), ]),
}, },
created() { created() {
@ -563,6 +571,7 @@ export default {
}); });
}, },
methods: { methods: {
checkPermi,
/** 查询销售订单列表 */ /** 查询销售订单列表 */
getList() { getList() {
this.loading = true; this.loading = true;
@ -650,7 +659,6 @@ export default {
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const orderIds = row.orderId || this.ids;
this.$confirm( this.$confirm(
'是否确认删除销售订单编号为"' + orderIds + '"的数据项?', '是否确认删除销售订单编号为"' + orderIds + '"的数据项?',
"警告", "警告",
@ -661,7 +669,7 @@ export default {
} }
) )
.then(function () { .then(function () {
return delOrder(orderIds); return delOrder(row.orderId);
}) })
.then(() => { .then(() => {
this.getList(); this.getList();

File diff suppressed because it is too large Load Diff