parent
5f3cf75082
commit
ad405e2c73
|
@ -1,6 +1,7 @@
|
|||
package com.ruoyi.business.controller;
|
||||
|
||||
import com.ruoyi.business.domain.*;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo;
|
||||
import com.ruoyi.business.req.ReqBusStoreConfigInfo;
|
||||
import com.ruoyi.business.req.ReqBusStoreInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreInfo;
|
||||
|
@ -14,6 +15,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.system.mapper.SysDictDataMapper;
|
||||
import io.swagger.annotations.Api;
|
||||
|
@ -125,45 +127,7 @@ public class BusStoreInfoController extends BaseController {
|
|||
busStoreInfo.setEndTime(busStoreInfo.getParams().get("endTime").toString()+" 23:59:59");
|
||||
}
|
||||
List<RespBusStoreInfo> listNew = busStoreInfoService.storeStatistics(busStoreInfo);
|
||||
TableDataInfo rspData = getDataTable(listNew);
|
||||
// List<BusStoreInfo> list = busStoreInfoService.selectBusStoreInfoList(busStoreInfo);
|
||||
// TableDataInfo rspData = getDataTable(list);
|
||||
// List<RespBusStoreInfo> tableList = list.stream()
|
||||
// .map(busStoreInfo1 -> {
|
||||
// RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1);
|
||||
// BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo();
|
||||
// busStoreDayInfo.setStoreId(info.getId());
|
||||
// List<BusStoreDayInfo> ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo);
|
||||
// int a = ll.get(0).getLastPositiveReviewsNum();//todo 好评-五星
|
||||
// int b = ll.get(0).getLastReturnVisitNum();
|
||||
// info.setLastOrderNum(ll.get(0).getLastOrderNum());
|
||||
// info.setLastReturnVisitNum(b);
|
||||
// info.setLastPositiveReviewsNum(a);
|
||||
// info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum());
|
||||
//// String date = LocalDateTime.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
//// List<BusReturnVisitInfo> llll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),date);
|
||||
//// info.setLastReturnVisitNum(llll.size());
|
||||
// info.setScore(ll.get(0).getScore());
|
||||
// if (a != 0 && b != 0) {
|
||||
// info.setLastReturnVisitRate(getRate(a,b));
|
||||
// } else {
|
||||
// info.setLastReturnVisitRate("0");
|
||||
// }
|
||||
// String today = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
// List<BusReturnVisitInfo> lll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),today);
|
||||
// info.setTodayReturnVisitNum(lll.size());
|
||||
// BusStoreConfigInfo busStoreConfigInfo = new BusStoreConfigInfo();
|
||||
// busStoreConfigInfo.setStoreCode(busStoreInfo1.getStoreCode());
|
||||
// List<BusStoreConfigInfo> list1 = iBusStoreConfigInfoService.selectBusStoreConfigInfoList(busStoreConfigInfo);
|
||||
// if(list1.size() == 1){
|
||||
// info.setReturnVisitUserRange(list1.get(0).getMinOrderNum()+"~"+list1.get(0).getMaxOrderNum());
|
||||
// }
|
||||
// return info;
|
||||
// })
|
||||
// .collect(Collectors.toList());
|
||||
//// tableList.forEach(System.out::println);
|
||||
// rspData.setRows(tableList);
|
||||
return rspData;
|
||||
return getDataTable(listNew);
|
||||
}
|
||||
|
||||
@ApiOperation("查询店铺信息列表")
|
||||
|
@ -176,44 +140,13 @@ public class BusStoreInfoController extends BaseController {
|
|||
if (!"admin".equals(user.getUsername())) {
|
||||
busStoreInfo.setBindUser(user.getUsername());
|
||||
}
|
||||
List<BusStoreInfo> list = busStoreInfoService.selectBusStoreInfoList(busStoreInfo);
|
||||
TableDataInfo rspData = getDataTable(list);
|
||||
List<RespBusStoreInfo> tableList = list.stream()
|
||||
.map(busStoreInfo1 -> {
|
||||
RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1);
|
||||
BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo();
|
||||
busStoreDayInfo.setStoreId(info.getId());
|
||||
List<BusStoreDayInfo> ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo);
|
||||
int a = ll.get(0).getLastPositiveReviewsNum();//todo 好评-五星
|
||||
int b = ll.get(0).getLastReturnVisitNum();
|
||||
info.setLastOrderNum(ll.get(0).getLastOrderNum());
|
||||
info.setLastReturnVisitNum(b);
|
||||
info.setLastPositiveReviewsNum(a);
|
||||
info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum());
|
||||
// String date = LocalDateTime.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
// List<BusReturnVisitInfo> llll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),date);
|
||||
// info.setLastReturnVisitNum(llll.size());
|
||||
info.setScore(ll.get(0).getScore());
|
||||
if (a != 0 && b != 0) {
|
||||
info.setLastReturnVisitRate(getRate(a,b));
|
||||
} else {
|
||||
info.setLastReturnVisitRate("0");
|
||||
if(StringUtils.isEmpty(busStoreInfo.getStoreBelong())){
|
||||
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDateTime localDateTime = LocalDateTime.now().minusDays(1);
|
||||
busStoreInfo.setStoreBelong(localDateTime.format(dateTimeFormatter));
|
||||
}
|
||||
String today = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
List<BusReturnVisitInfo> lll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),today);
|
||||
info.setTodayReturnVisitNum(lll.size());
|
||||
BusStoreConfigInfo busStoreConfigInfo = new BusStoreConfigInfo();
|
||||
busStoreConfigInfo.setStoreCode(busStoreInfo1.getStoreCode());
|
||||
List<BusStoreConfigInfo> list1 = iBusStoreConfigInfoService.selectBusStoreConfigInfoList(busStoreConfigInfo);
|
||||
if(list1.size() == 1){
|
||||
info.setReturnVisitUserRange(list1.get(0).getMinOrderNum()+"~"+list1.get(0).getMaxOrderNum());
|
||||
}
|
||||
return info;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
// tableList.forEach(System.out::println);
|
||||
rspData.setRows(tableList);
|
||||
return rspData;
|
||||
List<RespBusStoreHistoryInfo> list = busStoreInfoService.storeHistoryStatistics(busStoreInfo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@ApiOperation("查询店铺信息列表")
|
||||
|
|
|
@ -52,4 +52,7 @@ public class ReqBusStoreInfo extends BaseEntity {
|
|||
/** 回访渠道 */
|
||||
@ApiModelProperty(name = "回访渠道")
|
||||
private String marketingChannels;
|
||||
|
||||
@ApiModelProperty(name = "统计时间")
|
||||
private String storeBelong;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
package com.ruoyi.business.domain.resp;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
public class RespBusStoreHistoryInfo {
|
||||
|
||||
/**
|
||||
* $column.columnComment
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 平台类型
|
||||
*/
|
||||
@Excel(name = "平台类型")
|
||||
@JSONField(ordinal = 1)
|
||||
private String platformType;
|
||||
|
||||
/**
|
||||
* 店铺编码
|
||||
*/
|
||||
@Excel(name = "编号")
|
||||
@JSONField(ordinal = 2)
|
||||
private String storeCode;
|
||||
|
||||
/**
|
||||
* 店铺名称
|
||||
*/
|
||||
@Excel(name = "名称")
|
||||
@JSONField(ordinal = 3)
|
||||
private String storeName;
|
||||
|
||||
/**
|
||||
* 店铺归属
|
||||
*/
|
||||
// @ApiModelProperty(name = "归属")
|
||||
private String storeBelong;
|
||||
|
||||
@Excel(name = "昨日单量")
|
||||
@JSONField(ordinal = 4)
|
||||
private int lastOrderNum;
|
||||
|
||||
/** 昨日好评量 */
|
||||
@Excel(name = "昨日好评量")
|
||||
@JSONField(ordinal = 5)
|
||||
private int lastPositiveReviewsNum;
|
||||
|
||||
/** 昨日五星量 */
|
||||
@Excel(name = "昨日五星量")
|
||||
@JSONField(ordinal = 6)
|
||||
private int lastFiveStarReviewsNum;
|
||||
|
||||
/** 昨日回访量 */
|
||||
@Excel(name = "昨日回访量")
|
||||
@JSONField(ordinal = 7)
|
||||
private int lastReturnVisitNum;
|
||||
|
||||
/** 昨日回访比50% */
|
||||
@Excel(name = "昨日回访比")
|
||||
@JSONField(ordinal = 8)
|
||||
private String lastReturnVisitRate;
|
||||
|
||||
/** 金额 */
|
||||
@Excel(name = "金额")
|
||||
@JSONField(ordinal = 9)
|
||||
private int price;
|
||||
|
||||
/**
|
||||
* 绑定时间(创建)
|
||||
*/
|
||||
@Excel(name = "金额")
|
||||
@JSONField(ordinal = 10)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date bindTime;
|
||||
|
||||
|
||||
|
||||
/** 评分 */
|
||||
@Excel(name = "评分")
|
||||
@JSONField(ordinal = 11)
|
||||
private String score;
|
||||
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@ package com.ruoyi.business.mapper;
|
|||
|
||||
import java.util.List;
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
@ -72,4 +73,9 @@ public interface BusStoreInfoMapper
|
|||
List<RespBusStoreInfo> storeStatistics(BusStoreInfo busStoreInfo);
|
||||
|
||||
List<RespBusStoreInfo> storeStatisticsExport(BusStoreInfo busStoreInfo);
|
||||
|
||||
List<RespBusStoreHistoryInfo> storeHistoryStatistics(BusStoreInfo busStoreInfo);
|
||||
|
||||
List<RespBusStoreHistoryInfo> storeHistoryStatisticsExport(BusStoreInfo busStoreInfo);
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.util.List;
|
|||
|
||||
import com.ruoyi.business.domain.BusStoreConfigInfo;
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreInfo;
|
||||
|
||||
/**
|
||||
|
@ -87,5 +88,7 @@ public interface IBusStoreInfoService
|
|||
|
||||
List<RespBusStoreInfo> storeStatisticsExport(BusStoreInfo busStoreInfo);
|
||||
|
||||
List<RespBusStoreHistoryInfo> storeHistoryStatistics(BusStoreInfo busStoreInfo);
|
||||
|
||||
int changeStoreStatus(BusStoreInfo busStoreInfo);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import java.util.List;
|
|||
import com.ruoyi.business.domain.BusMarketOperationInfo;
|
||||
import com.ruoyi.business.domain.BusSaleInfo;
|
||||
import com.ruoyi.business.domain.BusStoreConfigInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo;
|
||||
import com.ruoyi.business.domain.resp.RespBusStoreInfo;
|
||||
import com.ruoyi.business.mapper.BusMarketOperationInfoMapper;
|
||||
import com.ruoyi.business.mapper.BusSaleInfoMapper;
|
||||
|
@ -172,6 +173,12 @@ public class BusStoreInfoServiceImpl implements IBusStoreInfoService
|
|||
public List<RespBusStoreInfo> storeStatisticsExport(BusStoreInfo busStoreInfo) {
|
||||
return busStoreInfoMapper.storeStatisticsExport(busStoreInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RespBusStoreHistoryInfo> storeHistoryStatistics(BusStoreInfo busStoreInfo) {
|
||||
return busStoreInfoMapper.storeHistoryStatistics(busStoreInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除店铺信息
|
||||
*
|
||||
|
|
|
@ -159,6 +159,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="bindId != null "> and s.bind_id = #{bindId}</if>
|
||||
ORDER BY s.bind_time desc
|
||||
</select>
|
||||
<select id="storeHistoryStatistics" resultType="com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo">
|
||||
SELECT s.id,
|
||||
s.platform_type platformType,
|
||||
s.store_code storeCode,
|
||||
s.store_name storeName,
|
||||
sd.last_order_num lastOrderNum,
|
||||
sd.last_positive_reviews_num lastPositiveReviewsNum,
|
||||
sd.last_five_star_reviews_num lastFiveStarReviewsNum,
|
||||
sd.last_return_visit_num lastReturnVisitNum,
|
||||
ifnull(round((sd.last_positive_reviews_num/sd.last_return_visit_num)*100,2),0) as lastReturnVisitRate,
|
||||
sd.score,
|
||||
s.price,
|
||||
DATE_FORMAT(sd.create_time,'%Y-%m-%d') bindTime
|
||||
FROM bus_store_info s
|
||||
LEFT JOIN bus_store_day_history_info sd ON s.id = sd.store_id and DATE_FORMAT(sd.create_time,'%Y-%m-%d') = #{storeBelong}
|
||||
LEFT JOIN bus_store_config_info sc ON s.store_code = sc.store_code
|
||||
where s.self_delivery_status != '3'
|
||||
<if test="selfDeliveryStatus != null and selfDeliveryStatus != ''"> and s.self_delivery_status = #{selfDeliveryStatus}</if>
|
||||
<if test="saleBindId != null "> and s.sale_bind_id = #{saleBindId}</if>
|
||||
<if test="bindUser != null and bindUser != ''"> and s.bind_user = #{bindUser}</if>
|
||||
<if test="platformType != null and platformType != ''"> and s.platform_type = #{platformType}</if>
|
||||
<if test="storeCode != null and storeCode != ''"> and s.store_code = #{storeCode}</if>
|
||||
<if test="storeName != null and storeName != ''"> and s.store_name like concat('%', #{storeName}, '%')</if>
|
||||
<if test="grantStatus != null and grantStatus != ''"> and s.grant_status = #{grantStatus}</if>
|
||||
<if test="returnVisitStatus != null and returnVisitStatus != ''"> and s.return_visit_status = #{returnVisitStatus}</if>
|
||||
<if test="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if>
|
||||
<if test="bindId != null "> and s.bind_id = #{bindId}</if>
|
||||
</select>
|
||||
<select id="storeStatisticsExport" resultType="com.ruoyi.business.domain.resp.RespBusStoreInfo">
|
||||
SELECT
|
||||
s.id,
|
||||
|
@ -185,7 +213,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
sd.last_five_star_reviews_num lastFiveStarReviewsNum,
|
||||
sd.last_return_visit_num lastReturnVisitNum,
|
||||
ifnull(round((sd.last_positive_reviews_num/sd.last_return_visit_num)*100,2),0) as lastReturnVisitRate,
|
||||
ifnull(sdd.ct,0) todayReturnVisitNum,
|
||||
s.price,
|
||||
sd.score,
|
||||
s.bind_time bindTime,
|
||||
CONCAT(sc.min_order_num,'~',sc.max_order_num) returnVisitUserRange,
|
||||
|
@ -196,14 +224,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
END selfDeliveryStatus
|
||||
FROM
|
||||
bus_store_info s
|
||||
LEFT JOIN bus_store_day_info sd ON s.id = sd.store_id
|
||||
LEFT JOIN bus_store_day_history_info sd ON s.id = sd.store_id and DATE_FORMAT(sd.create_time,'%Y-%m-%d') = #{storeBelong}
|
||||
LEFT JOIN bus_store_config_info sc ON s.store_code = sc.store_code
|
||||
LEFT JOIN (
|
||||
select rv.store_code,count(rv.id) ct
|
||||
from bus_return_visit_info rv
|
||||
where DATE_FORMAT(rv.return_visit_time,'%Y-%m-%d') = CURDATE()
|
||||
group by rv.store_code
|
||||
) sdd ON sdd.store_code = s.store_code
|
||||
where s.self_delivery_status != '3'
|
||||
<if test="selfDeliveryStatus != null and selfDeliveryStatus != ''"> and s.self_delivery_status = #{selfDeliveryStatus}</if>
|
||||
<if test="saleBindId != null "> and s.sale_bind_id = #{saleBindId}</if>
|
||||
|
@ -218,6 +240,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
ORDER BY s.bind_time desc
|
||||
</select>
|
||||
|
||||
<select id="storeHistoryStatisticsExport" resultType="com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo">
|
||||
SELECT
|
||||
s.id,
|
||||
CASE s.platform_type
|
||||
WHEN '1' THEN '美团'
|
||||
WHEN '2' THEN '饿了么'
|
||||
ELSE ''
|
||||
END as platformType,
|
||||
s.store_code storeCode,
|
||||
s.store_name storeName,
|
||||
sd.last_order_num lastOrderNum,
|
||||
sd.last_positive_reviews_num lastPositiveReviewsNum,
|
||||
sd.last_five_star_reviews_num lastFiveStarReviewsNum,
|
||||
sd.last_return_visit_num lastReturnVisitNum,
|
||||
ifnull(round((sd.last_positive_reviews_num/sd.last_return_visit_num)*100,2),0) as lastReturnVisitRate,
|
||||
s.price,
|
||||
sd.score,
|
||||
DATE_FORMAT(sd.create_time,'%Y-%m-%d') bindTime
|
||||
FROM bus_store_info s
|
||||
LEFT JOIN bus_store_day_history_info sd ON s.id = sd.store_id and DATE_FORMAT(sd.create_time,'%Y-%m-%d') = #{storeBelong}
|
||||
LEFT JOIN bus_store_config_info sc ON s.store_code = sc.store_code
|
||||
where s.self_delivery_status != '3'
|
||||
<if test="saleBindId != null "> and s.sale_bind_id = #{saleBindId}</if>
|
||||
<if test="bindUser != null and bindUser != ''"> and s.bind_user = #{bindUser}</if>
|
||||
<if test="platformType != null and platformType != ''"> and s.platform_type = #{platformType}</if>
|
||||
<if test="storeCode != null and storeCode != ''"> and s.store_code = #{storeCode}</if>
|
||||
<if test="storeName != null and storeName != ''"> and s.store_name like concat('%', #{storeName}, '%')</if>
|
||||
<if test="grantStatus != null and grantStatus != ''"> and s.grant_status = #{grantStatus}</if>
|
||||
<if test="returnVisitStatus != null and returnVisitStatus != ''"> and s.return_visit_status = #{returnVisitStatus}</if>
|
||||
<if test="marketingChannels != null and marketingChannels != ''"> and s.marketing_channels = #{marketingChannels}</if>
|
||||
<if test="bindId != null "> and s.bind_id = #{bindId}</if>
|
||||
</select>
|
||||
|
||||
<insert id="insertBusStoreInfo" parameterType="BusStoreInfo" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into bus_store_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
|
|
@ -8,7 +8,14 @@ export function listStore(query) {
|
|||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询店铺列表
|
||||
export function listHistory(query) {
|
||||
return request({
|
||||
url: '/business/store/listHistory',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 查询归属销售列表
|
||||
export function getMtUrl(query) {
|
||||
return request({
|
||||
|
|
|
@ -113,17 +113,26 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
<el-col :span="5">
|
||||
<el-form-item label="统计时间">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.storeBelong"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择统计时间"
|
||||
style="width: 240px">
|
||||
</el-date-picker>
|
||||
<!-- <el-date-picker
|
||||
v-model="dateRange"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</el-date-picker> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
|
@ -175,32 +184,28 @@
|
|||
{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="名称" prop="storeName" align="center" />
|
||||
<el-table-column label="编号" prop="storeCode" align="center" />
|
||||
<el-table-column label="平台" prop="platformType" width="55">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_platform_type" :value="scope.row.platformType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="编号" prop="storeCode" align="center" />
|
||||
<el-table-column label="名称" prop="storeName" align="center" />
|
||||
<el-table-column label="在线状态" prop ="grantStatus" align="center" width="75" >
|
||||
<!-- <el-table-column label="在线状态" prop ="grantStatus" align="center" width="75" >
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_grant_status" :value="scope.row.grantStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="昨日单量" prop="lastOrderNum" align="center" width="75"/>
|
||||
<el-table-column label="昨日好评量" prop="lastPositiveReviewsNum" align="center" width="85"/>
|
||||
<el-table-column label="昨日五星量" prop="lastFiveStarReviewsNum" align="center" width="85"/>
|
||||
<el-table-column label="昨日回访量" prop="lastReturnVisitNum" align="center" width="85"/>
|
||||
<el-table-column label="昨日H评比(%)" prop="lastReturnVisitRate" align="center" :render-header="renderPrice" width="120" />
|
||||
<el-table-column label="今日回访量" prop="todayReturnVisitNum" align="center" width="85" />
|
||||
<el-table-column label="评分" prop="score" align="center" width="55" />
|
||||
<el-table-column label="归属" prop="saleBindId" align="center" :formatter="idToName" width="65" />
|
||||
<el-table-column label="创建时间" align="center" prop="bindTime" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.bindTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="营销用户下单" prop="returnVisitUserRange" align="center" width="110" />
|
||||
</el-table-column> -->
|
||||
<el-table-column label="昨日单量" prop="lastOrderNum" align="center" />
|
||||
<el-table-column label="昨日好评量" prop="lastPositiveReviewsNum" align="center" />
|
||||
<el-table-column label="昨日五星量" prop="lastFiveStarReviewsNum" align="center" />
|
||||
<el-table-column label="昨日回访量" prop="lastReturnVisitNum" align="center" />
|
||||
<el-table-column label="昨日H评比(%)" prop="lastReturnVisitRate" align="center" :render-header="renderPrice" />
|
||||
<!-- <el-table-column label="今日回访量" prop="todayReturnVisitNum" align="center" /> -->
|
||||
<el-table-column label="评分" prop="score" align="center" />
|
||||
<!-- <el-table-column label="归属" prop="saleBindId" align="center" :formatter="idToName" /> -->
|
||||
<el-table-column label="统计时间" align="center" prop="bindTime"/>
|
||||
<!-- <el-table-column label="营销用户下单" prop="returnVisitUserRange" align="center" /> -->
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width =120>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
@ -226,128 +231,6 @@
|
|||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
|
||||
<el-form-item label="早高峰时段-方案" prop="content1">
|
||||
<!-- <el-input v-model="form.storeCode" placeholder="店铺编码" /> -->
|
||||
<el-select
|
||||
v-model="form.content1"
|
||||
placeholder="选择话术"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.bus_script_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="午高峰时段-方案" prop="content2">
|
||||
<el-select
|
||||
v-model="form.content2"
|
||||
placeholder="选择话术"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.bus_script_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="晚高峰时段-方案" prop="content3">
|
||||
<el-select
|
||||
v-model="form.content3"
|
||||
placeholder="选择话术"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.bus_script_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="默认时间段-方案" prop="content4">
|
||||
<el-select
|
||||
v-model="form.content4"
|
||||
placeholder="选择话术"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.bus_script_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="营销用户-下单次数 >=" prop="min_order_num">
|
||||
<el-input-number v-model="form.minOrderNum" placeholder="请输入营销下单次数" :min="1"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="营销用户-下单次数 <=" prop="max_order_num">
|
||||
<el-input-number v-model="form.maxOrderNum" placeholder="请输入营销下单次数" :min="1"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="营销时段" prop="start_time">
|
||||
<el-time-picker
|
||||
is-range
|
||||
v-model="timeRange"
|
||||
value-format = "HH:mm:ss"
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
placeholder="选择时间范围">
|
||||
</el-time-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="营销时长" prop="selfDeliveryDuration">
|
||||
<el-input-number v-model="form.selfDeliveryDuration" controls-position="right" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="营销限额" prop="quota">
|
||||
<el-input-number v-model="form.quota" controls-position="right" :min="0" />
|
||||
</el-form-item>
|
||||
<el-form-item label="是否拼好饭">
|
||||
<el-radio-group v-model="form.isSpliceOrder">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_yes_no"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="店铺归属" prop="saleBindId">
|
||||
<el-select
|
||||
v-model="form.saleBindId"
|
||||
placeholder="店铺归属"
|
||||
filterable
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in saleList"
|
||||
:key="dict.id"
|
||||
:label="dict.saleName+' :'+dict.id"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
|
||||
<!-- <img class="btn" :src="imageUrl" alt="your-image-description" > -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="open1" width="800px" append-to-body>
|
||||
<el-form ref="form1" :model="form1" label-width="150px">
|
||||
|
@ -386,7 +269,7 @@
|
|||
|
||||
<script>
|
||||
|
||||
import { listStore, changeReturnVisitStatus, getMtUrl, changeSelfDeliveryStatus, getStoreConfig, updateStoreConfig, getStoreStatistics, generateWord, nowIntegral, setUpPrize } from "@/api/business/store";
|
||||
import { listHistory, changeReturnVisitStatus, getMtUrl, changeSelfDeliveryStatus, getStoreConfig, updateStoreConfig, getStoreStatistics, generateWord, nowIntegral, setUpPrize } from "@/api/business/store";
|
||||
import { listSaleA} from "@/api/business/sale";
|
||||
import { listA} from "@/api/agent/info";
|
||||
|
||||
|
@ -443,7 +326,8 @@ export default {
|
|||
storeName: undefined,
|
||||
saleBindId: undefined,
|
||||
grantStatus: undefined,
|
||||
returnVisitStatus: undefined
|
||||
returnVisitStatus: undefined,
|
||||
storeBelong: undefined
|
||||
},
|
||||
saleList: [],
|
||||
agentList:[],
|
||||
|
@ -505,7 +389,7 @@ export default {
|
|||
/** 查询角色列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listStore(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
listHistory(this.queryParams).then(response => {
|
||||
this.storeList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
|
|
Loading…
Reference in New Issue