!333 新增基因下单

Merge pull request !333 from 德仔/xzj
This commit is contained in:
德仔 2021-07-30 10:39:12 +00:00 committed by Gitee
commit e30a8adc53
10 changed files with 424 additions and 280 deletions

View File

@ -101,6 +101,8 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setMainOrderId(0L);
sysOrder.setAfterSaleCommissOrder(0);
sysOrder.setOnSaleId(null);
sysOrder.setPushPreSaleId(null);
sysOrder.setBusinessAffairId(null);
//二开单
if("1".equals(sysOrder.getOrderCountType())){
row = sysOrderMapper.insertSysOrder(sysOrder);
@ -116,6 +118,8 @@ public class SysOrderServiceImpl implements ISysOrderService {
else if("1".equals(sysOrder.getOrderType())){
sysOrder.setAfterSaleCommissOrder(0);
sysOrder.setOnSaleId(null);
sysOrder.setBusinessAffairId(null);
sysOrder.setPushPreSaleId(null);
String rate = sysOrder.getNutritionistRate();
if(StringUtils.isEmpty(rate) || rate.indexOf(",") == -1 || "0,10".equals(rate) || sysOrder.getNutritionistIdList().length != 2){
return 0;
@ -151,7 +155,9 @@ public class SysOrderServiceImpl implements ISysOrderService {
else if("2".equals(sysOrder.getOrderType())){
sysOrder.setMainOrderId(0L);
sysOrder.setAfterSaleCommissOrder(0);
sysOrder.setPushPreSaleId(null);
sysOrder.setAfterSaleId(null);
sysOrder.setBusinessAffairId(null);
sysOrder.setNutritionistId(null);
sysOrder.setNutriAssisId(null);
row = sysOrderMapper.insertSysOrder(sysOrder);
@ -159,6 +165,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
//售中单
else if("3".equals(sysOrder.getOrderType())){
sysOrder.setPreSaleId(null);
sysOrder.setBusinessAffairId(null);
//一开二开
if("0".equals(sysOrder.getOrderCountType()) || "1".equals(sysOrder.getOrderCountType())){
sysOrder.setNutritionistId((sysOrder.getNutritionistIdList() != null && sysOrder.getNutritionistIdList().length > 0) ? sysOrder.getNutritionistIdList()[0] : null);
@ -227,6 +234,29 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setOperatorId(null);
sysOrder.setOperatorAssisId(null);
row = sysOrderMapper.insertSysOrder(sysOrder);
//二开单
if(row > 0 && "1".equals(sysOrder.getOrderCountType()) && sysOrder.getSecondAfterSaleFlag() != null && sysOrder.getSecondAfterSaleFlag().intValue() == 1){
//需要自动创建售后二开提成单
row = autoCreateSecondAfterSaleOrder(sysOrder);
}
}
//基因订单
else if("5".equals(sysOrder.getOrderType())){
sysOrder.setServeTimeId(null);
sysOrder.setGiveServeDay(0);
sysOrder.setOnSaleId(null);
sysOrder.setPushPreSaleId(null);
sysOrder.setBusinessAffairId(null);
sysOrder.setAfterSaleId(null);
sysOrder.setNutritionistId(null);
sysOrder.setNutriAssisId(null);
sysOrder.setPlannerId(null);
sysOrder.setPlannerAssisId(null);
sysOrder.setOperatorId(null);
sysOrder.setOperatorAssisId(null);
sysOrder.setStartTime(sysOrder.getOrderTime());
sysOrder.setServerEndTime(sysOrder.getOrderTime());
row = sysOrderMapper.insertSysOrder(sysOrder);
}
return row;
}
@ -251,6 +281,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setMainOrderId(0L);
sysOrder.setAfterSaleCommissOrder(1);
sysOrder.setOrderId(sysOrder.getOrderId()+1);
sysOrder.setBusinessAffairId(null);
return sysOrderMapper.insertSysOrder(sysOrder);
}
return 0;
@ -273,6 +304,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setAfterSaleId(null);
sysOrder.setNutritionistId(null);
sysOrder.setNutriAssisId(null);
sysOrder.setBusinessAffairId(null);
}
//提成单
if(sysOrder.getAfterSaleCommissOrder().intValue() == 1){
@ -283,11 +315,17 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setPlannerAssisId(null);
sysOrder.setOperatorId(null);
sysOrder.setOperatorAssisId(null);
sysOrder.setBusinessAffairId(null);
sysOrder.setOnSaleId(null);
sysOrder.setPushPreSaleId(null);
}
if("3".equals(sysOrder.getOrderType())){
sysOrder.setPreSaleId(null);
sysOrder.setBusinessAffairId(null);
}
if("4".equals(sysOrder.getOrderType())){
sysOrder.setMainOrderId(0L);
sysOrder.setAfterSaleCommissOrder(0);
sysOrder.setPreSaleId(null);
sysOrder.setOnSaleId(null);
sysOrder.setPushPreSaleId(null);
@ -296,6 +334,22 @@ public class SysOrderServiceImpl implements ISysOrderService {
sysOrder.setOperatorId(null);
sysOrder.setOperatorAssisId(null);
}
if("5".equals(sysOrder.getOrderType())){
sysOrder.setServeTimeId(null);
sysOrder.setGiveServeDay(0);
sysOrder.setOnSaleId(null);
sysOrder.setPushPreSaleId(null);
sysOrder.setBusinessAffairId(null);
sysOrder.setAfterSaleId(null);
sysOrder.setNutritionistId(null);
sysOrder.setNutriAssisId(null);
sysOrder.setPlannerId(null);
sysOrder.setPlannerAssisId(null);
sysOrder.setOperatorId(null);
sysOrder.setOperatorAssisId(null);
sysOrder.setStartTime(sysOrder.getOrderTime());
sysOrder.setServerEndTime(sysOrder.getOrderTime());
}
if(oldSysOrder.getStartTime() == null){//确保提成计算时间不为空
sysOrder.setCommissStartTime(sysOrder.getOrderTime());
}
@ -407,7 +461,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
LocalDate newStartTime = null;
//判断是否提成单拆分单中的副单体验单,定金单
if(sysOrder.getStartTime() == null || sysOrder.getAfterSaleCommissOrder().intValue() == 1 || sysOrder.getMainOrderId().intValue() != 0 ||
"2".equals(sysOrder.getOrderType()) || !isNeedByOrderMoneyType(sysOrder)){
"2".equals(sysOrder.getOrderType()) || !isNeedByOrderMoneyType(sysOrder) || "5".equals(sysOrder.getOrderType())){
//设置服务到期时间
setOrderServerEndDate(sysOrder);
sysOrder.setUpdateTime(new Date());

View File

@ -176,7 +176,7 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
//判断是否提成单拆分单中的副单体验单,定金单
if (sysOrder.getAfterSaleCommissOrder().intValue() == 1 || sysOrder.getMainOrderId().intValue() != 0 ||
// "2".equals(sysOrder.getOrderType()) || // 体验单也需要生成计划 2021.05.29
!isNeedByOrderMoneyType(sysOrder) || sysOrder.getCounted() == 1) {
!isNeedByOrderMoneyType(sysOrder) || sysOrder.getCounted() == 1 || "5".equals(sysOrder.getOrderType())) {
System.out.println("---------------------" + sysOrder.getOrderId() + "不生成食谱------------------------");
continue;
}

View File

@ -4,7 +4,7 @@ import com.stdiet.custom.domain.SysOrder;
public class OrderUtils {
private static final String[] orderTypeArray = {"普通单","比例拆分单","体验单","售中单","商务单"};
private static final String[] orderTypeArray = {"普通单","比例拆分单","体验单","售中单","商务单","基因单"};
private static final String[] orderCountTypeArray = {"一开单","二开单","一开单(拆分)","二开单(拆分)"};

View File

@ -9,7 +9,7 @@
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-col :span="12">
<el-col :span="12" v-show="orderModuleshow.orderTypeShow">
<el-form-item label="订单类型" prop="orderTypeList">
<el-cascader
v-model="form.orderTypeList"
@ -19,7 +19,7 @@
</el-cascader>
</el-form-item>
</el-col>
<el-col :span="8" v-show="secondAfterSaleFlagShow">
<el-col :span="8" v-show="orderModuleshow.secondAfterSaleFlagShow">
<el-form-item
label="自动创建售后提成订单"
prop="secondAfterSaleFlag"
@ -35,12 +35,12 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="成交金额" prop="amount">
<el-col :span="8" v-show="orderModuleshow.amountShow">
<el-form-item label="成交金额" prop="amount" >
<el-input v-model.trim="form.amount" placeholder="请输入金额" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.payTypeShow">
<el-form-item label="收款方式" prop="payTypeId">
<el-select v-model="form.payTypeId" placeholder="请选择">
<el-option
@ -52,7 +52,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.accountShow">
<el-form-item label="进粉渠道" prop="accountId">
<el-select
v-model="form.accountId"
@ -70,7 +70,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.serveTimeShow">
<el-form-item label="服务时长" prop="serveTime">
<el-select v-model="form.serveTimeId" placeholder="请选服">
<el-option
@ -82,8 +82,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="赠送时长" prop="serveTime">
<el-col :span="8" v-show="orderModuleshow.giveServeDayShow">
<el-form-item label="赠送时长" prop="giveServeDay">
<el-select v-model="form.giveServeDay" placeholder="请选择">
<el-option
v-for="dict in giveTimeIdOption"
@ -94,7 +94,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.conditioningProjectShow">
<el-form-item label="调理项目" prop="conditioningProjectId">
<el-select
v-model="form.conditioningProjectId"
@ -111,7 +111,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="preSaleShow && !businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.preSaleShow">
<el-form-item label="售前" prop="preSaleId" >
<el-select v-model="form.preSaleId" placeholder="请选择" filterable
clearable>
@ -124,7 +124,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.businessAffairShow">
<el-form-item label="商务" prop="businessAffairId" >
<el-select v-model="form.businessAffairId" placeholder="请选择" filterable clearable>
<el-option
@ -136,7 +136,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="pushPreSaleShow">
<el-col :span="8" v-show="orderModuleshow.pushPreSaleShow">
<el-form-item label="售前推送" prop="preSaleId" title="售前推送人就是该客户体验单的销售,只有售中一开单需要选择">
<el-select v-model="form.pushPreSaleId" placeholder="请选择" filterable
clearable>
@ -149,7 +149,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="onSaleShow">
<el-col :span="8" v-show="orderModuleshow.onSaleShow">
<el-form-item label="售中" prop="onSaleId">
<el-select v-model="form.onSaleId" placeholder="请选择">
<el-option
@ -161,7 +161,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="afterNutiShow">
<el-col :span="8" v-show="orderModuleshow.afterSaleShow">
<el-form-item label="售后" prop="afterSaleId">
<el-select v-model="form.afterSaleId" placeholder="请选择" filterable
clearable>
@ -174,7 +174,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="afterNutiShow">
<el-col :span="8" v-show="orderModuleshow.nutritionistShow">
<el-form-item label="主营养师" prop="nutritionistIdList">
<el-select
v-model="form.nutritionistIdList"
@ -191,7 +191,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="orderRateOptionsShow">
<el-col :span="8" v-show="orderModuleshow.nutritionistRateShow">
<el-form-item label="拆分比例" prop="nutritionistRate">
<el-select v-model="form.nutritionistRate" placeholder="请选择">
<el-option
@ -203,7 +203,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="afterNutiShow">
<el-col :span="8" v-show="orderModuleshow.nutriAssisShow">
<el-form-item label="助理营养师" prop="nutriAssisId">
<el-select v-model="form.nutriAssisId" placeholder="请选择" filterable
clearable>
@ -216,7 +216,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="!businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.plannerShow">
<el-form-item label="策划" prop="plannerId">
<el-select v-model="form.plannerId" placeholder="请选择" filterable
clearable>
@ -229,7 +229,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="!businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.plannerAssisShow">
<el-form-item label="策划助理" prop="plannerAssisId">
<el-select v-model="form.plannerAssisId" placeholder="请选择" filterable
clearable>
@ -242,7 +242,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="!businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.operatorShow">
<el-form-item label="运营" prop="operatorId">
<el-select v-model="form.operatorId" placeholder="请选择" filterable
clearable>
@ -255,7 +255,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="!businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.operatorAssisShow">
<el-form-item label="运营助理" prop="operatorAssisId">
<el-select v-model="form.operatorAssisId" placeholder="请选择" filterable
clearable>
@ -273,7 +273,7 @@
<el-input v-model="form.recommender" placeholder="请输入推荐人" />
</el-form-item>
</el-col>-->
<el-col :span="10">
<el-col :span="10" v-show="orderModuleshow.orderTimeShow">
<el-form-item label="成交时间" prop="orderTime">
<el-date-picker
style="width: 182.5px"
@ -295,7 +295,7 @@
</el-select>
</el-form-item>
</el-col>-->
<el-col :span="10">
<el-col :span="10" v-show="orderModuleshow.startTimeShow">
<el-form-item label="服务开始时间" prop="startTime" label-width="180">
<el-date-picker
style="width: 182.5px"
@ -310,7 +310,7 @@
</el-col>
<!-- 添加时默认未审核不能改 -->
<el-col :span="10" v-hasPermi="['custom:order:review']" v-show="false">
<el-col :span="10" v-hasPermi="['custom:order:review']" v-show="false && orderModuleshow.reviewStatusShow">
<el-form-item label="审核状态" prop="reviewStatus">
<el-select v-model="form.reviewStatus" placeholder="请选择审核状态">
<el-option
@ -322,7 +322,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-col v-show="orderModuleshow.remarkShow">
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
@ -483,19 +483,11 @@ export default {
secondAfterSaleFlagShow: false,
//
orderRateOptions: orderTypeData["orderRateArray"],
//
orderRateOptionsShow: false,
//
preSaleShow: true,
//
onSaleShow: false,
//()
pushPreSaleShow: false,
//
afterNutiShow: true,
//
businessAffairShow: false
};
//
orderModuleshow: Object.assign({}, orderTypeData.orderModuleshow)
}
},
created() {
this.getDicts("cus_pay_type").then((response) => {
@ -850,61 +842,10 @@ export default {
// this.initPlanningAndOperation();
// },
"form.orderTypeList": function (newVal, oldVal) {
//
if ((newVal[1] == 1 || newVal[1] == 3) && newVal[0] != 4) {
this.form.secondAfterSaleFlag = 1;
this.secondAfterSaleFlagShow = true;
} else {
this.form.secondAfterSaleFlag = 0;
this.secondAfterSaleFlagShow = false;
}
//
if (newVal[0] == 1 || newVal[1] == 2 || newVal[1] == 3) {
this.orderRateOptionsShow = true;
this.form.nutritionistRate = "2,8";
} else {
this.orderRateOptionsShow = false;
this.form.nutritionistRate = "0,10";
}
//
if (newVal[0] == 2) {
this.form.serveTimeId = 7;
this.form.conditioningProjectId = 12;
this.onSaleShow = true;
this.afterNutiShow = false;
} else {
this.form.onSaleId = null;
this.form.serveTimeId = 90;
this.form.conditioningProjectId = 0;
this.onSaleShow = false;
this.afterNutiShow = true;
}
//
if(newVal[0] == 3){
//,
this.form.preSaleId = null;
this.onSaleShow = true;
this.preSaleShow = false;
//
if(newVal[1] == 0 || newVal[1] == 2){
this.form.pushPreSaleId = (this.data && this.data.preSaleId != null) ? this.data.preSaleId : null;
this.pushPreSaleShow = true;
}else{
this.pushPreSaleShow = false;
this.form.pushPreSaleId = null;
}
}else{
this.form.pushPreSaleId = null;
this.pushPreSaleShow = false;
this.preSaleShow = true;
//
if (newVal[0] != 2) {
this.form.onSaleId = null;
this.onSaleShow = false;
}
}
//
this.businessAffairShow = newVal[0] == 4;
let resultArray = orderTypeData.dealOrderModuleshowByOrderType(newVal, this.orderModuleshow, this.form);
this.orderModuleshow = resultArray[0];
this.form = resultArray[1];
},
},
};

View File

@ -113,7 +113,7 @@ export default {
response.data.weight = response.data.weight != null ? response.data.weight + "斤" : "";
response.data.giveServeDay = response.data.giveServeDay != null ? response.data.giveServeDay + "天" : "";
if(response.data.orderType == 4){
response.data.preSale = response.data.businessAffair;
response.data.preSale = response.data.preSale != null ? response.data.preSale : response.data.businessAffair;
}
for (let i = 0; i < this.orderTitleData.length; i++) {
this.orderDetailList.push({

View File

@ -110,6 +110,7 @@
>删除</el-button
>
<el-button
v-show="scope.row.type === 'main' && scope.row.orderType != 2 && scope.row.orderType != 5"
size="mini"
type="text"
icon="el-icon-edit"

View File

@ -9,7 +9,7 @@
>
<el-row :gutter="15">
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-col :span="16">
<el-col :span="16" v-show="orderModuleshow.orderTypeShow">
<el-form-item label="订单类型" prop="orderTypeName">
<el-input
v-model="form.orderTypeName"
@ -18,12 +18,12 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.amountShow">
<el-form-item label="成交金额" prop="amount">
<el-input v-model.trim="form.amount" placeholder="请输入金额" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.payTypeShow">
<el-form-item label="收款方式" prop="payTypeId">
<el-select v-model="form.payTypeId" placeholder="请选择">
<el-option
@ -35,7 +35,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.accountShow">
<el-form-item label="进粉渠道" prop="accountId">
<el-select
v-model="form.accountId"
@ -51,7 +51,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.serveTimeShow">
<el-form-item label="服务时长" prop="serveTime">
<el-select v-model="form.serveTimeId" placeholder="请选服">
<el-option
@ -63,8 +63,8 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="赠送时长" prop="serveTime">
<el-col :span="8" v-show="orderModuleshow.giveServeDayShow">
<el-form-item label="赠送时长" prop="giveServeDay">
<el-select v-model="form.giveServeDay" placeholder="请选择">
<el-option
v-for="dict in giveTimeIdOption"
@ -75,7 +75,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-show="orderModuleshow.conditioningProjectShow">
<el-form-item label="调理项目" prop="conditioningProjectId">
<el-select
v-model="form.conditioningProjectId"
@ -90,7 +90,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="preSaleShow && !businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.preSaleShow">
<el-form-item label="售前" prop="preSaleId">
<el-select v-model="form.preSaleId" placeholder="请选择">
<el-option
@ -102,7 +102,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.businessAffairShow">
<el-form-item label="商务" prop="businessAffairId" >
<el-select v-model="form.businessAffairId" placeholder="请选择" filterable clearable>
<el-option
@ -114,7 +114,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="pushPreSaleShow">
<el-col :span="8" v-show="orderModuleshow.pushPreSaleShow">
<el-form-item label="售前推送" prop="preSaleId">
<el-select v-model="form.pushPreSaleId" placeholder="请选择">
<el-option
@ -126,7 +126,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="onSaleShow">
<el-col :span="8" v-show="orderModuleshow.onSaleShow">
<el-form-item label="售中" prop="onSaleId">
<el-select v-model="form.onSaleId" placeholder="请选择">
<el-option
@ -138,7 +138,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="afterSaleNutriAssShow">
<el-col :span="8" v-show="orderModuleshow.afterSaleShow">
<el-form-item label="售后" prop="afterSaleId">
<el-select v-model="form.afterSaleId" placeholder="请选择">
<el-option
@ -150,7 +150,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="afterSaleNutriAssShow">
<el-col :span="8" v-show="orderModuleshow.nutritionistShow">
<el-form-item label="主营养师" prop="nutritionistId">
<el-select v-model="form.nutritionistId" placeholder="请选择">
<el-option
@ -162,7 +162,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="afterSaleNutriAssShow">
<el-col :span="8" v-show="orderModuleshow.nutriAssisShow">
<el-form-item label="助理营养师" prop="nutriAssisId">
<el-select v-model="form.nutriAssisId" placeholder="请选择">
<el-option
@ -174,7 +174,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="planOperatorShow && !businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.plannerShow">
<el-form-item label="策划" prop="plannerId">
<el-select v-model="form.plannerId" placeholder="请选择">
<el-option
@ -186,7 +186,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="planOperatorShow && !businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.plannerAssisShow">
<el-form-item label="策划助理" prop="plannerAssisId">
<el-select v-model="form.plannerAssisId" placeholder="请选择">
<el-option
@ -198,7 +198,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="planOperatorShow && !businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.operatorShow">
<el-form-item label="运营" prop="operatorId">
<el-select v-model="form.operatorId" placeholder="请选择">
<el-option
@ -210,7 +210,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" v-show="planOperatorShow && !businessAffairShow">
<el-col :span="8" v-show="orderModuleshow.operatorAssisShow">
<el-form-item label="运营助理" prop="operatorAssisId">
<el-select v-model="form.operatorAssisId" placeholder="请选择">
<el-option
@ -227,7 +227,7 @@
<el-input v-model="form.recommender" placeholder="请输入推荐人" />
</el-form-item>
</el-col>-->
<el-col :span="10">
<el-col :span="10" v-show="orderModuleshow.orderTimeShow">
<el-form-item label="成交时间" prop="orderTime">
<el-date-picker
style="width: 182.5px"
@ -241,7 +241,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="12" v-show="orderModuleshow.startTimeShow">
<el-form-item label="服务开始时间" prop="startTime" label-width="160">
<el-date-picker
style="width: 182.5px"
@ -254,7 +254,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col v-hasPermi="['custom:order:review']">
<el-col v-hasPermi="['custom:order:review']" v-show="orderModuleshow.reviewStatusShow">
<el-form-item label="审核状态" prop="reviewStatus">
<el-select v-model="form.reviewStatus" placeholder="请选择审核状态">
<el-option
@ -266,7 +266,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-col v-show="orderModuleshow.remarkShow">
<el-form-item label="备注" prop="remark">
<el-input
v-model="form.remark"
@ -287,6 +287,7 @@
import { addOrder, updateOrder } from "@/api/custom/order";
import dayjs from "dayjs";
import { mapGetters } from "vuex";
import * as orderTypeData from "@/utils/orderType";
export default {
name: "OrderEdit",
@ -416,18 +417,9 @@ export default {
reviewStatusOptions: [],
//()
orderDropdownCorrespondingOptions: [],
//
preSaleShow: true,
//
onSaleShow: false,
//()
pushPreSaleShow: false,
//
afterSaleNutriAssShow: true,
//
planOperatorShow: true,
//
businessAffairShow: false
//
orderModuleshow: Object.assign({}, orderTypeData.orderModuleshow)
};
},
created() {
@ -611,44 +603,13 @@ export default {
...obj,
};
this.resetForm("form");
//
this.preSaleShow = true;
//
this.onSaleShow = false;
//()
this.pushPreSaleShow= false;
//
this.afterSaleNutriAssShow= true;
//
this.planOperatorShow = true;
if(this.form.orderType == "3"){
//
if(this.form.afterSaleCommissOrder == null || this.form.afterSaleCommissOrder == 0){
this.preSaleShow = false;
}
if(this.form.orderCountType == 0 || this.form.orderCountType == 2){
this.pushPreSaleShow = true;
}
}
let orderTypeList = [parseInt(this.form.orderType), parseInt(this.form.orderCountType), parseInt(this.form.orderMoneyType)];
if(this.form.orderType == "2" || (this.form.orderType == "3" && (this.form.afterSaleCommissOrder == null || this.form.afterSaleCommissOrder == 0))){
this.onSaleShow = true;
}
let resultArray = orderTypeData.dealOrderModuleshowByOrderType(orderTypeList, this.orderModuleshow, this.form);
this.orderModuleshow = resultArray[0];
if((this.form.afterSaleCommissOrder != null && this.form.afterSaleCommissOrder != 0) || this.form.orderType == "2"){
this.afterSaleNutriAssShow = false;
}
if(this.form.afterSaleCommissOrder != null && this.form.afterSaleCommissOrder != 0){
this.planOperatorShow = false;
}
//
this.businessAffairShow = this.form.orderType == "4";
//console.log(this.preSaleShow + " | " + this.pushPreSaleShow + " | " + this.onSaleShow + " | " + this.afterSaleNutriAssShow + "|" + this.planOperatorShow);
},
handleOnClosed() {
this.reset();

View File

@ -4,10 +4,14 @@
:title="title"
append-to-body
@closed="onClosed"
width="1000px"
:width="dialogWidth"
>
<div style="margin-top: -20px;">
<div
<div style="display: flex; flex-direction: row">
<!-- 打卡信息详情 -->
<div :style="'float: left; width: '+(commentVisible ? '900px' : '950px')">
<div
style="float: right; margin-bottom:10px"
>
@ -21,118 +25,101 @@
</div>
<!-- 打卡信息详情 -->
<div>
<h3>基础信息</h3>
<TableDetailMessage :data="punchLogDetail"></TableDetailMessage>
<h3>食物以及对比照信息</h3>
<div style="height: 370px; overflow: auto">
<div v-if="punchLog != null && punchLog.ingredientDescribe != null && punchLog.ingredientDescribe != ''">
<!--<div v-if="punchLog != null && punchLog.ingredientDescribe != null && punchLog.ingredientDescribe != ''">
<h4>食物描述</h4>
<div>
{{punchLog.ingredientDescribe}}
</div>
</div>
<div v-if="punchLog != null && (punchLog.imagesUrl.breakfastImages.length > 0 || punchLog.imagesUrl.lunchImages.length > 0 || punchLog.imagesUrl.dinnerImages.length > 0
|| punchLog.imagesUrl.extraMealImages.length > 0)">
<h4>食物照片</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.breakfastImages" title="点击大图预览" :key="index"
class="food_image_first"
:src="item"
:preview-src-list="imageUrl">
</el-image>
<el-image v-for="(item, index) in punchLog.imagesUrl.lunchImages" title="点击大图预览" :key="index"
class="food_image"
:src="item"
:preview-src-list="imageUrl">
</el-image>
<el-image v-for="(item, index) in punchLog.imagesUrl.dinnerImages" title="点击大图预览" :key="index"
class="food_image"
:src="item"
:preview-src-list="imageUrl">
</el-image>
<el-image v-for="(item, index) in punchLog.imagesUrl.extraMealImages" title="点击大图预览" :key="index"
class="food_image"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<!--<div v-if="punchLog != null && punchLog.imagesUrl.lunchImages.length > 0">
<h4>午餐</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.lunchImages" title="点击大图预览" :key="index"
style="width: 300px; height: 300px"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<div v-if="punchLog != null && punchLog.imagesUrl.dinnerImages.length > 0">
<h4>晚餐</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.dinnerImages" title="点击大图预览" :key="index"
style="width: 300px; height: 300px"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<div v-if="punchLog != null && punchLog.imagesUrl.extraMealImages.length > 0">
<h4>加餐</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.extraMealImages" title="点击大图预览" :key="index"
style="width: 300px; height: 300px"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>-->
<div v-if="punchLog != null && punchLog.imagesUrl.bodyImages.length > 0">
<h4>体型对比照</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.bodyImages" title="点击大图预览" :key="index"
style="width: 300px; height: 300px"
:src="item"
:preview-src-list="imageUrl">
</el-image>
<div v-if="punchLog != null">
<div v-if="punchLog.imagesUrl.breakfastImages.length > 0">
<h4>早餐照片</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.breakfastImages" title="点击大图预览" :key="'breakfast'+index"
class="food_image_first"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<div v-if="punchLog.imagesUrl.lunchImages.length > 0">
<h4>午餐照片</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.lunchImages" title="点击大图预览" :key="'lunch'+index"
class="food_image"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<div v-if="punchLog.imagesUrl.dinnerImages.length > 0">
<h4>晚餐照片</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.dinnerImages" title="点击大图预览" :key="'dinner'+index"
class="food_image"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<div v-if="punchLog.imagesUrl.extraMealImages.length > 0">
<h4>加餐照片</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.extraMealImages" title="点击大图预览" :key="'extraMeal'+index"
class="food_image"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
<div v-if="punchLog.imagesUrl.bodyImages.length > 0">
<h4>体型对比照</h4>
<div>
<el-image v-for="(item, index) in punchLog.imagesUrl.bodyImages" title="点击大图预览" :key="index"
style="width: 300px; height: 300px"
:src="item"
:preview-src-list="imageUrl">
</el-image>
</div>
</div>
</div>
</div>
</div>
</div>
<el-dialog :visible.sync="commentVisible" :title="commentTitle" width="500px" append-to-body @closed="commentClosed">
<el-form ref="form" :model="commentForm" :rules="commentRules" label-position="top" label-width="100px">
<el-form-item label="打卡评分" prop="executionScore" >
<el-rate
v-model="commentForm.executionScore"
show-score
allow-half
text-color="#ff9900"
>
</el-rate>
</el-form-item>
<el-form-item label="点评内容" prop="comment" >
<el-input
type="textarea"
:rows="4"
maxlength="200"
show-word-limit
placeholder="请输入点评内容"
v-model="commentForm.comment">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" >
<el-button type="primary" @click="commentSubmit()"> </el-button>
<el-button @click="commentClosed()"> </el-button>
<div style="width: 200px;margin-left:40px;margin-top:50px" v-show="commentVisible">
<h3 style="width: 200px;">{{commentTitle}}</h3>
<el-form ref="form" :model="commentForm" :rules="commentRules" label-position="top" label-width="100px" >
<el-form-item label="打卡评分" prop="executionScore" >
<el-rate
v-model="commentForm.executionScore"
show-score
allow-half
text-color="#ff9900"
>
</el-rate>
</el-form-item>
<el-form-item label="点评内容" prop="comment">
<el-input
type="textarea"
:rows="20"
maxlength="200"
show-word-limit
placeholder="请输入点评内容"
v-model="commentForm.comment">
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align:center;">
<el-button type="primary" @click="commentSubmit()"> </el-button>
<el-button @click="commentClosed()"> </el-button>
</div>
</div>
</el-dialog>
</div>
</div>
</el-dialog>
@ -181,7 +168,8 @@ export default {
},
commentRules:{},
scoreArray:[0.5,1,1.5,2,2.5,3,3.5,4,4.5,5],
commentFlag: false, //
commentFlag: false, //,
dialogWidth: "1000px"
};
},
methods: {
@ -245,10 +233,14 @@ export default {
},
onClosed() {
this.data = null;
this.callback = null;
//this.callback = null;
this.punchLog = null;
this.imageUrl = [];
this.punchLogDetail = [];
if(this.commentFlag){
console.log("cbhdsjcsnjcsdc");
this.callback && this.callback();
}
},
clickComment(){
@ -258,12 +250,13 @@ export default {
comment: this.punchLog.comment,
executionScore: this.punchLog.executionScore == null ? 0 : this.punchLog.executionScore,
}
this.commentTitle = "点评「"+this.punchLog.customerName+" "+ this.punchLog.logTime +"」打卡";
this.commentTitle = "点评「"+ this.punchLog.logTime +"」打卡";
this.commentVisible = true;
this.dialogWidth = "1200px";
},
commentClosed(){
this.commentVisible = false;
this.dialogWidth = "1000px";
},
commentSubmit(){
/*if(this.commentForm.executionScore == null || this.commentForm.executionScore == 0){
@ -273,10 +266,9 @@ export default {
commentPunchContent(this.commentForm).then((res) => {
if(res.code == 200){
this.msgSuccess("点评成功");
this.commentVisible = false;
this.commentClosed();
this.getPunchLogById();
this.commentFlag = true;
this.callback && this.callback();
}else{
this.msgSuccess("点评失败");
}
@ -289,13 +281,13 @@ export default {
<style lang="scss" scoped>
.food_image_first{
width: 300px;
width: 280px;
height: 300px;
}
.food_image{
width: 300px;
width: 280px;
height: 300px;
margin-left:10px
//margin-left:10px
}
</style>

View File

@ -823,12 +823,12 @@ export function dealHealthy(customerHealthy) {
return customerHealthy;
}
export const extendHealthyTitle = {"0":"减脂","5":"降血压","6":"降血糖","3": "备孕营养", "1": "月经不调", "2": "多囊调理", "11":"心脑血管调理","13":"胃肠肿瘤调理","4":"产后调理","7":"高血脂","10":"消化系统管理"};
export const projectName = {"0":"减脂","5":"高血压","6":"高血糖","3": "备孕营养", "1":"月经不调", "2":"多囊卵巢综合症", "13":"胃肠肿瘤","4":"产后调理","7":"高血脂","10":"消化系统管理"};
export const extendHealthyTitle = {"0":"减脂","5":"降血压","6":"降血糖","3": "备孕营养", "1": "月经不调", "2": "多囊调理", "11":"心脑血管调理","13":"胃肠肿瘤调理","4":"产后调理","7":"高血脂","10":"消化系统管理","14":"增重"};
export const projectName = {"0":"减脂","5":"高血压","6":"高血糖","3": "备孕营养", "1":"月经不调", "2":"多囊卵巢综合症", "13":"胃肠肿瘤","4":"产后调理","7":"高血脂","10":"消化系统管理","14":"增重"};
//需要填写慢病调查问卷的项目
export const extendHealthyIndex = [5, 6, 1, 2, 13,4,7];
//跳过减脂经历问卷的项目
export const notExperienceIndex = [3,1,2,13,4,7,10];
export const notExperienceIndex = [3,1,2,13,4,7,10,14];
export function getTitleKey(projectId){
return extendHealthyTitle[projectId+""] != null ? extendHealthyTitle[projectId+""] : extendHealthyTitle["0"];

View File

@ -80,6 +80,18 @@ export const orderTypeArray = [
value: 4,
label: "商务单",
children: orderCountTypeArray
},
{
value: 5,
label: "基因单",
children:[{
value: 0,
label: "一开单",
children: [{
value: 0,
label: "全款单"
}]
}]
}
]
@ -115,3 +127,186 @@ export const orderRateArray = [
remark: ""
}
]
//订单模块控制标识,默认为普通单、一开单、全款单
export const orderModuleshow = {
orderTypeShow: true,
secondAfterSaleFlagShow: false,
amountShow: true,
payTypeShow: true,
accountShow: true,
serveTimeShow: true,
giveServeDayShow: true,
conditioningProjectShow: true,
preSaleShow: true,
businessAffairShow: false,
pushPreSaleShow: false,
onSaleShow: false,
afterSaleShow: true,
nutritionistShow: true,
nutritionistRateShow: false,
nutriAssisShow: true,
plannerShow: true,
plannerAssisShow: true,
operatorShow: true,
operatorAssisShow: true,
orderTimeShow: true,
startTimeShow: true,
reviewStatusShow: true,
remarkShow: true
}
/**
* 根据订单类型处理订单模块的显示与隐藏
*
* @param {*} orderType 订单类型
* @param {*} moduleshow 订单模块控制标识对象
* @param {*} form 订单模块控制标识对象
*/
export function dealOrderModuleshowByOrderType(orderType, moduleshow, form){
let addFlag = form.orderId == undefined || form.orderId == null;
if(addFlag){
//还原
moduleshow = {
...orderModuleshow
};
form.serveTimeId = 90;
form.conditioningProjectId = 0;
form.nutritionistRate = "0,10";
form.pushPreSaleId = null;
form.onSaleId = null;
form.businessAffairId = null;
form.secondAfterSaleFlag = 0;
form.payTypeId = 3;
}
switch(orderType[0]){
//普通单
case 0:
break;
//拆分单
case 1:
moduleshow.nutritionistRateShow = true;
if(addFlag){
form.nutritionistRate = "2,8";
}
break;
//体验单
case 2:
if(addFlag){
form.serveTimeId = 7;
form.conditioningProjectId = 12;
}
moduleshow.onSaleShow = true;
moduleshow.afterSaleShow = false;
moduleshow.nutritionistShow = false;
moduleshow.nutriAssisShow = false;
break;
//售中单
case 3:
if(addFlag){
form.preSaleId = null;
}
moduleshow.onSaleShow = true;
moduleshow.preSaleShow = false;
if(orderType[1] == 2 || orderType[1] == 3){
moduleshow.nutritionistRateShow = true;
if(addFlag){
form.nutritionistRate = "2,8";
}
}
//一开单
if(orderType[1] == 0 || orderType[1] == 2){
moduleshow.pushPreSaleShow = true;
}
break;
//商务单
case 4:
if(addFlag){
form.preSaleId = null;
form.plannerId = null;
form.plannerAssisId = null;
form.operatorId = null;
form.operatorAssisId = null;
}
moduleshow.preSaleShow = false;
moduleshow.plannerShow = false;
moduleshow.plannerAssisShow = false;
moduleshow.operatorShow = false;
moduleshow.operatorAssisShow = false;
moduleshow.businessAffairShow = true;
break;
//基因单
case 5:
if(addFlag){
form.payTypeId = 9;
form.conditioningProjectId = 15;
}
moduleshow.serveTimeShow = false;
//moduleshow.accountShow = false;
moduleshow.giveServeDayShow = false;
moduleshow.afterSaleShow = false;
moduleshow.nutritionistShow = false;
moduleshow.nutriAssisShow = false;
moduleshow.plannerShow = false;
moduleshow.plannerAssisShow = false;
moduleshow.operatorShow = false;
moduleshow.operatorAssisShow = false;
moduleshow.startTimeShow = false;
break;
default:
break;
}
if(addFlag){
if(orderType[1] == 1 || orderType[1] == 3){
form.secondAfterSaleFlag = 1;
moduleshow.secondAfterSaleFlagShow = true;
}
}
if(!addFlag){
if(form.afterSaleCommissOrder != null && form.afterSaleCommissOrder != 0){
let afterSaleCommissShow = {
orderTypeShow: true,
secondAfterSaleFlagShow: false,
amountShow: true,
payTypeShow: true,
accountShow: true,
serveTimeShow: true,
giveServeDayShow: true,
conditioningProjectShow: true,
preSaleShow: true,
businessAffairShow: false,
pushPreSaleShow: false,
onSaleShow: false,
afterSaleShow: false,
nutritionistShow: false,
nutritionistRateShow: false,
nutriAssisShow: false,
plannerShow: false,
plannerAssisShow: false,
operatorShow: false,
operatorAssisShow: false,
orderTimeShow: true,
startTimeShow: true,
reviewStatusShow: true,
remarkShow: true
}
moduleshow = {
...afterSaleCommissShow
};
}
}
return [moduleshow, form];
//console.log(moduleshow);
//console.log(orderModuleshow);
}