表格模板导出
This commit is contained in:
parent
815e27439c
commit
661c503aee
|
@ -0,0 +1,121 @@
|
|||
package com.ruoyi.business.controller;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.ruoyi.business.domain.BusStoreDayHistoryInfo;
|
||||
import com.ruoyi.business.domain.BusStoreExcelInfo;
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.business.service.IBusReturnVisitInfoService;
|
||||
import com.ruoyi.business.service.IBusStoreInfoService;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.business.service.IBusStoreDayHistoryInfoService;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 店铺单日历史信息Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2024-07-18
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/excel/info")
|
||||
public class BusStoreDayHistoryInfoController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private IBusStoreDayHistoryInfoService busStoreDayHistoryInfoService;
|
||||
@Autowired
|
||||
private IBusStoreInfoService busStoreInfoService;
|
||||
@Autowired
|
||||
private IBusReturnVisitInfoService iBusReturnVisitInfoService;
|
||||
|
||||
/**
|
||||
* 查询店铺单日历史信息列表
|
||||
*/
|
||||
// @PreAuthorize("@ss.hasPermi('system:info:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(BusStoreExcelInfo excelInfo)
|
||||
{
|
||||
startPage();
|
||||
List<BusStoreExcelInfo> list = busStoreDayHistoryInfoService.selectBusStoreDayHistoryInfoList(excelInfo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@PostMapping("/export")
|
||||
public void export(Long storeId,String expStartTime,String expEndTime,HttpServletResponse response) throws Exception {
|
||||
String startTime = expStartTime;
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
BusStoreInfo storeInfo = busStoreInfoService.selectBusStoreInfoById(storeId);
|
||||
List<BusStoreExcelInfo> list = new ArrayList<>();
|
||||
if (storeInfo != null) {
|
||||
int totalComments = 0;
|
||||
BigDecimal totamMoney = new BigDecimal("0");
|
||||
while (dateFormat.parse(startTime).getTime() <= dateFormat.parse(expEndTime).getTime()){
|
||||
BusStoreExcelInfo excelInfo = new BusStoreExcelInfo();
|
||||
excelInfo.setOrderDate(startTime);
|
||||
excelInfo.setCommentsDate(startTime);
|
||||
|
||||
String sT = startTime+" 00:00:00";
|
||||
String eT = startTime+" 23:59:59";
|
||||
|
||||
int visitCount = iBusReturnVisitInfoService.getByDate(storeInfo.getStoreCode(),sT,eT);
|
||||
excelInfo.setVisitNumber(visitCount);
|
||||
|
||||
BusStoreDayHistoryInfo data = busStoreDayHistoryInfoService.getByDate(storeId,sT,eT);
|
||||
if (data != null && data.getLastPositiveReviewsNum() != null){
|
||||
excelInfo.setCommentsNumber(data.getLastPositiveReviewsNum());
|
||||
totalComments += data.getLastPositiveReviewsNum();
|
||||
}else{
|
||||
excelInfo.setCommentsNumber(0);
|
||||
}
|
||||
excelInfo.setPrice(storeInfo.getPrice().toString());
|
||||
BigDecimal money = new BigDecimal(storeInfo.getPrice().toString()).multiply(new BigDecimal(visitCount));
|
||||
excelInfo.setMoney(money.toString());
|
||||
totamMoney = totamMoney.add(money);
|
||||
|
||||
list.add(excelInfo);
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(dateFormat.parse(startTime));
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
Date newDate = calendar.getTime();
|
||||
startTime = dateFormat.format(newDate);
|
||||
}
|
||||
|
||||
BusStoreExcelInfo info1 = new BusStoreExcelInfo();
|
||||
info1.setOrderDate("合计好评量");
|
||||
info1.setCommentsDate(String.valueOf(totalComments));
|
||||
info1.setVisitNumber(null);
|
||||
info1.setCommentsNumber(null);
|
||||
BusStoreExcelInfo info2 = new BusStoreExcelInfo();
|
||||
info2.setOrderDate("合计金额");
|
||||
info2.setCommentsDate(totamMoney.toString());
|
||||
info2.setVisitNumber(null);
|
||||
info2.setCommentsNumber(null);
|
||||
list.add(info1);
|
||||
list.add(info2);
|
||||
}
|
||||
ExcelUtil<BusStoreExcelInfo> util = new ExcelUtil<>(BusStoreExcelInfo.class);
|
||||
util.exportExcel(response, list, "店铺信息数据");
|
||||
}
|
||||
|
||||
}
|
|
@ -274,61 +274,7 @@ public class BusStoreInfoController extends BaseController {
|
|||
@Log(title = "店铺信息", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(Long id,String expStartTime,String expEndTime,HttpServletResponse response) throws Exception {
|
||||
String startTime = expStartTime;
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
BusStoreInfo storeInfo = busStoreInfoService.selectBusStoreInfoById(id);
|
||||
List<BusStoreExcelInfo> list = new ArrayList<>();
|
||||
if (storeInfo != null) {
|
||||
int totalComments = 0;
|
||||
BigDecimal totamMoney = new BigDecimal("0");
|
||||
while (dateFormat.parse(startTime).getTime() <= dateFormat.parse(expEndTime).getTime()){
|
||||
BusStoreExcelInfo excelInfo = new BusStoreExcelInfo();
|
||||
excelInfo.setOrderDate(startTime);
|
||||
excelInfo.setCommentsDate(startTime);
|
||||
|
||||
String sT = startTime+" 00:00:00";
|
||||
String eT = startTime+" 23:59:59";
|
||||
|
||||
int visitCount = iBusReturnVisitInfoService.getByDate(storeInfo.getStoreCode(),sT,eT);
|
||||
excelInfo.setVisitNumber(visitCount);
|
||||
|
||||
BusStoreDayHistoryInfo data = busStoreDayHistoryInfoService.getByDate(id,sT,eT);
|
||||
if (data != null && data.getLastPositiveReviewsNum() != null){
|
||||
excelInfo.setCommentsNumber(data.getLastPositiveReviewsNum());
|
||||
totalComments += data.getLastPositiveReviewsNum();
|
||||
}else{
|
||||
excelInfo.setCommentsNumber(0);
|
||||
}
|
||||
// excelInfo.setPrice(storeInfo.getPrice());
|
||||
excelInfo.setPrice("3");
|
||||
BigDecimal money = new BigDecimal("3").multiply(new BigDecimal(visitCount));
|
||||
excelInfo.setMoney(money.toString());
|
||||
totamMoney = totamMoney.add(money);
|
||||
|
||||
list.add(excelInfo);
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(dateFormat.parse(startTime));
|
||||
calendar.add(Calendar.DAY_OF_YEAR, 1);
|
||||
Date newDate = calendar.getTime();
|
||||
startTime = dateFormat.format(newDate);
|
||||
}
|
||||
|
||||
BusStoreExcelInfo info1 = new BusStoreExcelInfo();
|
||||
info1.setOrderDate("合计好评量");
|
||||
info1.setCommentsDate(String.valueOf(totalComments));
|
||||
info1.setVisitNumber(null);
|
||||
info1.setCommentsNumber(null);
|
||||
BusStoreExcelInfo info2 = new BusStoreExcelInfo();
|
||||
info2.setOrderDate("合计金额");
|
||||
info2.setCommentsDate(totamMoney.toString());
|
||||
info2.setVisitNumber(null);
|
||||
info2.setCommentsNumber(null);
|
||||
list.add(info1);
|
||||
list.add(info2);
|
||||
}
|
||||
ExcelUtil<BusStoreExcelInfo> util = new ExcelUtil<>(BusStoreExcelInfo.class);
|
||||
util.exportExcel(response, list, "店铺信息数据");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,7 +6,9 @@ import com.ruoyi.common.core.domain.BaseEntity;
|
|||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 店铺信息对象 bus_store_info
|
||||
|
@ -17,6 +19,33 @@ import java.util.Date;
|
|||
public class BusStoreExcelInfo extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
private Integer storeId;
|
||||
private String storeName;
|
||||
|
||||
public Integer getStoreId() {
|
||||
return storeId;
|
||||
}
|
||||
|
||||
public void setStoreId(Integer storeId) {
|
||||
this.storeId = storeId;
|
||||
}
|
||||
List<Integer> storeList;
|
||||
|
||||
public List<Integer> getStoreList() {
|
||||
return storeList;
|
||||
}
|
||||
|
||||
public void setStoreList(List<Integer> storeList) {
|
||||
this.storeList = storeList;
|
||||
}
|
||||
|
||||
public String getStoreName() {
|
||||
return storeName;
|
||||
}
|
||||
|
||||
public void setStoreName(String storeName) {
|
||||
this.storeName = storeName;
|
||||
}
|
||||
|
||||
@Excel(name = "订单日期")
|
||||
private String orderDate;
|
||||
|
@ -57,7 +86,7 @@ public class BusStoreExcelInfo extends BaseEntity
|
|||
this.commentsDate = commentsDate;
|
||||
}
|
||||
|
||||
public int getVisitNumber() {
|
||||
public Integer getVisitNumber() {
|
||||
return visitNumber;
|
||||
}
|
||||
|
||||
|
@ -65,7 +94,7 @@ public class BusStoreExcelInfo extends BaseEntity
|
|||
this.visitNumber = visitNumber;
|
||||
}
|
||||
|
||||
public int getCommentsNumber() {
|
||||
public Integer getCommentsNumber() {
|
||||
return commentsNumber;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.ruoyi.business.mapper;
|
|||
|
||||
import com.ruoyi.business.domain.BusStoreDayHistoryInfo;
|
||||
import com.ruoyi.business.domain.BusStoreDayInfo;
|
||||
import com.ruoyi.business.domain.BusStoreExcelInfo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -25,10 +26,10 @@ public interface BusStoreDayHistoryInfoMapper
|
|||
/**
|
||||
* 查询店铺单日信息列表
|
||||
*
|
||||
* @param busStoreDayHistoryInfo 店铺单日信息
|
||||
* @param busStoreExcelInfo 店铺单日信息
|
||||
* @return 店铺单日信息集合
|
||||
*/
|
||||
public List<BusStoreDayHistoryInfo> selectBusStoreDayHistoryInfoList(BusStoreDayHistoryInfo busStoreDayHistoryInfo);
|
||||
public List<BusStoreExcelInfo> selectBusStoreDayHistoryInfoList(BusStoreExcelInfo busStoreExcelInfo);
|
||||
|
||||
/**
|
||||
* 新增店铺单日信息
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.ruoyi.business.service;
|
||||
|
||||
import com.ruoyi.business.domain.BusStoreDayHistoryInfo;
|
||||
import com.ruoyi.business.domain.BusStoreExcelInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -23,10 +24,10 @@ public interface IBusStoreDayHistoryInfoService
|
|||
/**
|
||||
* 查询店铺单日信息列表
|
||||
*
|
||||
* @param busStoreDayHistoryInfo 店铺单日信息
|
||||
* @param busStoreExcelInfo 店铺单日信息
|
||||
* @return 店铺单日信息集合
|
||||
*/
|
||||
public List<BusStoreDayHistoryInfo> selectBusStoreDayHistoryInfoList(BusStoreDayHistoryInfo busStoreDayHistoryInfo);
|
||||
public List<BusStoreExcelInfo> selectBusStoreDayHistoryInfoList(BusStoreExcelInfo busStoreExcelInfo);
|
||||
|
||||
/**
|
||||
* 新增店铺单日信息
|
||||
|
|
|
@ -2,14 +2,19 @@ package com.ruoyi.business.service.impl;
|
|||
|
||||
import com.ruoyi.business.domain.BusStoreDayHistoryInfo;
|
||||
import com.ruoyi.business.domain.BusStoreDayInfo;
|
||||
import com.ruoyi.business.domain.BusStoreExcelInfo;
|
||||
import com.ruoyi.business.domain.BusStoreInfo;
|
||||
import com.ruoyi.business.mapper.BusStoreDayHistoryInfoMapper;
|
||||
import com.ruoyi.business.mapper.BusStoreDayInfoMapper;
|
||||
import com.ruoyi.business.mapper.BusStoreInfoMapper;
|
||||
import com.ruoyi.business.service.IBusStoreDayHistoryInfoService;
|
||||
import com.ruoyi.business.service.IBusStoreDayInfoService;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -23,6 +28,8 @@ public class BusStoreDayHistoryInfoServiceImpl implements IBusStoreDayHistoryInf
|
|||
{
|
||||
@Autowired
|
||||
private BusStoreDayHistoryInfoMapper busStoreDayHistoryInfoMapper;
|
||||
@Autowired
|
||||
private BusStoreInfoMapper storeInfoMapper;
|
||||
|
||||
/**
|
||||
* 查询店铺单日信息
|
||||
|
@ -39,13 +46,23 @@ public class BusStoreDayHistoryInfoServiceImpl implements IBusStoreDayHistoryInf
|
|||
/**
|
||||
* 查询店铺单日信息列表
|
||||
*
|
||||
* @param busStoreDayHistoryInfo 店铺单日信息
|
||||
* @param busStoreExcelInfo 店铺单日信息
|
||||
* @return 店铺单日信息
|
||||
*/
|
||||
@Override
|
||||
public List<BusStoreDayHistoryInfo> selectBusStoreDayHistoryInfoList(BusStoreDayHistoryInfo busStoreDayHistoryInfo)
|
||||
public List<BusStoreExcelInfo> selectBusStoreDayHistoryInfoList(BusStoreExcelInfo busStoreExcelInfo)
|
||||
{
|
||||
return busStoreDayHistoryInfoMapper.selectBusStoreDayHistoryInfoList(busStoreDayHistoryInfo);
|
||||
BusStoreInfo info = new BusStoreInfo();
|
||||
info.setBindId(SecurityUtils.getLoginUser().getUserId());
|
||||
List<BusStoreInfo> list = storeInfoMapper.selectBusStoreInfoList(info);
|
||||
if (list.size() != 0) {
|
||||
List<Integer> sl = new ArrayList<>();
|
||||
for (BusStoreInfo storeInfo : list) {
|
||||
sl.add(storeInfo.getId().intValue());
|
||||
}
|
||||
busStoreExcelInfo.setStoreList(sl);
|
||||
}
|
||||
return busStoreDayHistoryInfoMapper.selectBusStoreDayHistoryInfoList(busStoreExcelInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -21,17 +21,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select id, store_id, last_order_num, last_positive_reviews_num, last_five_star_reviews_num, last_return_visit_num, last_return_visit_rate, today_return_visit_num, score, create_time from bus_store_day_history_info
|
||||
</sql>
|
||||
|
||||
<select id="selectBusStoreDayHistoryInfoList" parameterType="BusStoreDayHistoryInfo" resultMap="BusStoreDayHistoryInfoResult">
|
||||
<include refid="selectBusStoreDayHistoryInfoVo"/>
|
||||
<sql id="selectBusStoreDayHistoryInfoVo1">
|
||||
SELECT
|
||||
a.store_id as storeId,
|
||||
b.store_name as storeName,
|
||||
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d') as orderDate,
|
||||
DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d') as commentsDate,
|
||||
ifnull(a.last_return_visit_num,0) as visitNumber,
|
||||
ifnull(a.last_positive_reviews_num,0) as commentsNumber,
|
||||
ifnull(b.price,0) as price,
|
||||
(ifnull(b.price,0) * ifnull(a.last_return_visit_num,0)) as money
|
||||
from bus_store_day_history_info a INNER JOIN bus_store_info b on b.id = a.store_id
|
||||
</sql>
|
||||
<select id="selectBusStoreDayHistoryInfoList" parameterType="com.ruoyi.business.domain.BusStoreExcelInfo" resultType="com.ruoyi.business.domain.BusStoreExcelInfo">
|
||||
<include refid="selectBusStoreDayHistoryInfoVo1"/>
|
||||
<where>
|
||||
<if test="storeId != null "> and store_id = #{storeId}</if>
|
||||
<!-- <if test="lastOrderNum != null "> and last_order_num = #{lastOrderNum}</if>-->
|
||||
<!-- <if test="lastPositiveReviewsNum != null "> and last_positive_reviews_num = #{lastPositiveReviewsNum}</if>-->
|
||||
<!-- <if test="lastFiveStarReviewsNum != null "> and last_five_star_reviews_num = #{lastFiveStarReviewsNum}</if>-->
|
||||
<!-- <if test="lastReturnVisitNum != null "> and last_return_visit_num = #{lastReturnVisitNum}</if>-->
|
||||
<!-- <if test="lastReturnVisitRate != null and lastReturnVisitRate != ''"> and last_return_visit_rate = #{lastReturnVisitRate}</if>-->
|
||||
<!-- <if test="todayReturnVisitNum != null "> and today_return_visit_num = #{todayReturnVisitNum}</if>-->
|
||||
<!-- <if test="score != null and score != ''"> and score = #{score}</if>-->
|
||||
DATE_FORMAT(a.create_time,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d')
|
||||
and b.self_delivery_status != '3'
|
||||
<if test="storeList != null">
|
||||
and a.store_id in
|
||||
<foreach collection="storeList" open="(" close=")" item="item" separator="," index="i">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="storeName != null and storeName != '' "> and b.store_name = #{storeName}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询店铺单日历史信息列表
|
||||
export function listInfo(query) {
|
||||
return request({
|
||||
url: '/excel/info/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询店铺单日历史信息详细
|
||||
export function getInfo(id) {
|
||||
return request({
|
||||
url: '/excel/info/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增店铺单日历史信息
|
||||
export function addInfo(data) {
|
||||
return request({
|
||||
url: '/excel/info',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改店铺单日历史信息
|
||||
export function updateInfo(data) {
|
||||
return request({
|
||||
url: '/excel/info',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除店铺单日历史信息
|
||||
export function delInfo(id) {
|
||||
return request({
|
||||
url: '/excel/info/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
|
@ -1,87 +1,53 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">-->
|
||||
<!-- <el-form-item label="营销源名称" prop="roleName">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.roleName"-->
|
||||
<!-- placeholder="请输入营销源名称"-->
|
||||
<!-- clearable-->
|
||||
<!-- style="width: 240px"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="营销源标识" prop="roleKey">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.roleKey"-->
|
||||
<!-- placeholder="请输入营销源标识"-->
|
||||
<!-- clearable-->
|
||||
<!-- style="width: 240px"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="仅当前账号" prop="status">-->
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="queryParams.status"-->
|
||||
<!-- placeholder="角色状态"-->
|
||||
<!-- clearable-->
|
||||
<!-- style="width: 240px"-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in dict.type.sys_normal_disable"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="备注" prop="roleKey">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="queryParams.roleKey"-->
|
||||
<!-- placeholder="备注"-->
|
||||
<!-- clearable-->
|
||||
<!-- style="width: 240px"-->
|
||||
<!-- @keyup.enter.native="handleQuery"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <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>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-form>-->
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="店铺名称" prop="storeName">
|
||||
<el-input
|
||||
v-model="queryParams.storeName"
|
||||
placeholder="请输入店铺名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<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>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="primary"-->
|
||||
<!-- plain-->
|
||||
<!-- icon="el-icon-plus"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="handleAdd"-->
|
||||
<!-- v-hasPermi="['system:role:add']"-->
|
||||
<!-- >新增</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="success"-->
|
||||
<!-- plain-->
|
||||
<!-- icon="el-icon-edit"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- :disabled="single"-->
|
||||
<!-- @click="handleUpdate"-->
|
||||
<!-- v-hasPermi="['system:role:edit']"-->
|
||||
<!-- >修改</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="1.5">-->
|
||||
<!-- <el-button-->
|
||||
<!-- type="danger"-->
|
||||
<!-- plain-->
|
||||
<!-- icon="el-icon-delete"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- :disabled="multiple"-->
|
||||
<!-- @click="handleDelete"-->
|
||||
<!-- v-hasPermi="['system:role:remove']"-->
|
||||
<!-- >删除</el-button>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:info:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:info:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:info:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
|
@ -89,63 +55,32 @@
|
|||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:role:export']"
|
||||
v-hasPermi="['system:info:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
|
||||
<!-- <el-table-column type="selection" width="55" align="center" />-->
|
||||
<!-- <el-table-column label="序号" prop="roleId" width="120" />-->
|
||||
<el-table-column label="订单日期" prop="roleName" :show-overflow-tooltip="true" width="270" />
|
||||
<el-table-column label="好评日期" prop="roleKey" :show-overflow-tooltip="true" width="270" />
|
||||
<el-table-column label="拨打电话量" align="center" width="270"/>
|
||||
<el-table-column label="好评量" align="center" width="290"/>
|
||||
<el-table-column label="单价" align="center" width="290"/>
|
||||
<el-table-column label="金额" align="center" width="290"/>
|
||||
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-switch-->
|
||||
<!-- v-model="scope.row.status"-->
|
||||
<!-- active-value="0"-->
|
||||
<!-- inactive-value="1"-->
|
||||
<!-- @change="handleStatusChange(scope.row)"-->
|
||||
<!-- ></el-switch>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
|
||||
<!-- <template slot-scope="scope" v-if="scope.row.roleId !== 1">-->
|
||||
<!-- <el-button-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="text"-->
|
||||
<!-- icon="el-icon-edit"-->
|
||||
<!-- @click="handleUpdate(scope.row)"-->
|
||||
<!-- v-hasPermi="['system:role:edit']"-->
|
||||
<!-- >修改</el-button>-->
|
||||
<!-- <el-button-->
|
||||
<!-- size="mini"-->
|
||||
<!-- type="text"-->
|
||||
<!-- icon="el-icon-delete"-->
|
||||
<!-- @click="handleDelete(scope.row)"-->
|
||||
<!-- v-hasPermi="['system:role:remove']"-->
|
||||
<!-- >删除</el-button>-->
|
||||
<!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">-->
|
||||
<!-- <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>-->
|
||||
<!-- <el-dropdown-menu slot="dropdown">-->
|
||||
<!-- <el-dropdown-item command="handleDataScope" icon="el-icon-circle-check"-->
|
||||
<!-- v-hasPermi="['system:role:edit']">数据权限</el-dropdown-item>-->
|
||||
<!-- <el-dropdown-item command="handleAuthUser" icon="el-icon-user"-->
|
||||
<!-- v-hasPermi="['system:role:edit']">分配用户</el-dropdown-item>-->
|
||||
<!-- </el-dropdown-menu>-->
|
||||
<!-- </el-dropdown>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="序号" align="center" prop="storeId" />
|
||||
<el-table-column label="店铺名称" align="center" prop="storeName" />
|
||||
<el-table-column label="订单日期" align="center" prop="orderDate" />
|
||||
<el-table-column label="好评日期" align="center" prop="commentsDate" />
|
||||
<el-table-column label="拨打电话量" align="center" prop="visitNumber" />
|
||||
<el-table-column label="好评量" align="center" prop="commentsNumber" />
|
||||
<el-table-column label="单价" align="center" prop="price" />
|
||||
<el-table-column label="金额" align="center" prop="money" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-mouse"
|
||||
@click="export1(scope.row)"
|
||||
>导出</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
@ -156,50 +91,32 @@
|
|||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<!-- 添加或修改角色配置对话框 -->
|
||||
<!-- 添加或修改店铺单日历史信息对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="角色名称" prop="roleName">
|
||||
<el-input v-model="form.roleName" placeholder="请输入角色名称" />
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="店铺id" prop="storeId">
|
||||
<el-input v-model="form.storeId" placeholder="请输入店铺id" />
|
||||
</el-form-item>
|
||||
<el-form-item prop="roleKey">
|
||||
<span slot="label">
|
||||
<el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)" placement="top">
|
||||
<i class="el-icon-question"></i>
|
||||
</el-tooltip>
|
||||
权限字符
|
||||
</span>
|
||||
<el-input v-model="form.roleKey" placeholder="请输入权限字符" />
|
||||
<el-form-item label="昨日订单量" prop="lastOrderNum">
|
||||
<el-input v-model="form.lastOrderNum" placeholder="请输入昨日订单量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="角色顺序" prop="roleSort">
|
||||
<el-input-number v-model="form.roleSort" controls-position="right" :min="0" />
|
||||
<el-form-item label="昨日好评量" prop="lastPositiveReviewsNum">
|
||||
<el-input v-model="form.lastPositiveReviewsNum" placeholder="请输入昨日好评量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
<el-form-item label="昨日五星量" prop="lastFiveStarReviewsNum">
|
||||
<el-input v-model="form.lastFiveStarReviewsNum" placeholder="请输入昨日五星量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="菜单权限">
|
||||
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
|
||||
<el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
|
||||
<el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>
|
||||
<el-tree
|
||||
class="tree-border"
|
||||
:data="menuOptions"
|
||||
show-checkbox
|
||||
ref="menu"
|
||||
node-key="id"
|
||||
:check-strictly="!form.menuCheckStrictly"
|
||||
empty-text="加载中,请稍候"
|
||||
:props="defaultProps"
|
||||
></el-tree>
|
||||
<el-form-item label="昨日回访量" prop="lastReturnVisitNum">
|
||||
<el-input v-model="form.lastReturnVisitNum" placeholder="请输入昨日回访量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
|
||||
<el-form-item label="昨日回访比50%" prop="lastReturnVisitRate">
|
||||
<el-input v-model="form.lastReturnVisitRate" placeholder="请输入昨日回访比50%" />
|
||||
</el-form-item>
|
||||
<el-form-item label="今日回访量" prop="todayReturnVisitNum">
|
||||
<el-input v-model="form.todayReturnVisitNum" placeholder="请输入今日回访量" />
|
||||
</el-form-item>
|
||||
<el-form-item label="评分" prop="score">
|
||||
<el-input v-model="form.score" placeholder="请输入评分" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
@ -208,57 +125,34 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 分配角色数据权限对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
|
||||
<el-form :model="form" label-width="80px">
|
||||
<el-form-item label="角色名称">
|
||||
<el-input v-model="form.roleName" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="权限字符">
|
||||
<el-input v-model="form.roleKey" :disabled="true" />
|
||||
</el-form-item>
|
||||
<el-form-item label="权限范围">
|
||||
<el-select v-model="form.dataScope" @change="dataScopeSelectChange">
|
||||
<el-option
|
||||
v-for="item in dataScopeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据权限" v-show="form.dataScope == 2">
|
||||
<el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">展开/折叠</el-checkbox>
|
||||
<el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">全选/全不选</el-checkbox>
|
||||
<el-checkbox v-model="form.deptCheckStrictly" @change="handleCheckedTreeConnect($event, 'dept')">父子联动</el-checkbox>
|
||||
<el-tree
|
||||
class="tree-border"
|
||||
:data="deptOptions"
|
||||
show-checkbox
|
||||
default-expand-all
|
||||
ref="dept"
|
||||
node-key="id"
|
||||
:check-strictly="!form.deptCheckStrictly"
|
||||
empty-text="加载中,请稍候"
|
||||
:props="defaultProps"
|
||||
></el-tree>
|
||||
<el-dialog :visible.sync="open1" width="800px" append-to-body>
|
||||
<el-form ref="form1" :model="form1" label-width="150px">
|
||||
<el-form-item label="导出时段" prop="start_time">
|
||||
<el-date-picker
|
||||
v-model="timeRange1"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
align="right">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitDataScope">确 定</el-button>
|
||||
<el-button @click="cancelDataScope">取 消</el-button>
|
||||
<el-button type="primary" @click="submitExport">确 定</el-button>
|
||||
<el-button @click="cancel1">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
|
||||
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
|
||||
import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/statistics/excel";
|
||||
|
||||
export default {
|
||||
name: "Role",
|
||||
dicts: ['sys_normal_disable'],
|
||||
name: "Info",
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
@ -273,71 +167,40 @@ export default {
|
|||
showSearch: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 角色表格数据
|
||||
roleList: [],
|
||||
// 店铺单日历史信息表格数据
|
||||
infoList: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 是否显示弹出层(数据权限)
|
||||
openDataScope: false,
|
||||
menuExpand: false,
|
||||
menuNodeAll: false,
|
||||
deptExpand: true,
|
||||
deptNodeAll: false,
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
// 数据范围选项
|
||||
dataScopeOptions: [
|
||||
{
|
||||
value: "1",
|
||||
label: "全部数据权限"
|
||||
open1: false,
|
||||
timeRange1: undefined,
|
||||
queryParams1: {
|
||||
storeId: undefined,
|
||||
storeName: undefined,
|
||||
expStartTime: undefined,
|
||||
expEndTime: undefined
|
||||
},
|
||||
{
|
||||
value: "2",
|
||||
label: "自定数据权限"
|
||||
},
|
||||
{
|
||||
value: "3",
|
||||
label: "本部门数据权限"
|
||||
},
|
||||
{
|
||||
value: "4",
|
||||
label: "本部门及以下数据权限"
|
||||
},
|
||||
{
|
||||
value: "5",
|
||||
label: "仅本人数据权限"
|
||||
}
|
||||
],
|
||||
// 菜单列表
|
||||
menuOptions: [],
|
||||
// 部门列表
|
||||
deptOptions: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
roleName: undefined,
|
||||
roleKey: undefined,
|
||||
status: undefined
|
||||
storeId: null,
|
||||
lastOrderNum: null,
|
||||
lastPositiveReviewsNum: null,
|
||||
lastFiveStarReviewsNum: null,
|
||||
lastReturnVisitNum: null,
|
||||
lastReturnVisitRate: null,
|
||||
todayReturnVisitNum: null,
|
||||
score: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
defaultProps: {
|
||||
children: "children",
|
||||
label: "label"
|
||||
},
|
||||
form1: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
roleName: [
|
||||
{ required: true, message: "角色名称不能为空", trigger: "blur" }
|
||||
],
|
||||
roleKey: [
|
||||
{ required: true, message: "权限字符不能为空", trigger: "blur" }
|
||||
],
|
||||
roleSort: [
|
||||
{ required: true, message: "角色顺序不能为空", trigger: "blur" }
|
||||
timeRange1: [
|
||||
{ required: true, message: "时间不能为空", trigger: "blur" }
|
||||
]
|
||||
}
|
||||
};
|
||||
|
@ -346,63 +209,13 @@ export default {
|
|||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询角色列表 */
|
||||
/** 查询店铺单日历史信息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listInfo(this.queryParams).then(response => {
|
||||
this.infoList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
listRole(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||
this.roleList = null;
|
||||
this.total = null;
|
||||
this.loading = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
/** 查询菜单树结构 */
|
||||
getMenuTreeselect() {
|
||||
menuTreeselect().then(response => {
|
||||
this.menuOptions = response.data;
|
||||
});
|
||||
},
|
||||
// 所有菜单节点数据
|
||||
getMenuAllCheckedKeys() {
|
||||
// 目前被选中的菜单节点
|
||||
let checkedKeys = this.$refs.menu.getCheckedKeys();
|
||||
// 半选中的菜单节点
|
||||
let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();
|
||||
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
|
||||
return checkedKeys;
|
||||
},
|
||||
// 所有部门节点数据
|
||||
getDeptAllCheckedKeys() {
|
||||
// 目前被选中的部门节点
|
||||
let checkedKeys = this.$refs.dept.getCheckedKeys();
|
||||
// 半选中的部门节点
|
||||
let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys();
|
||||
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
|
||||
return checkedKeys;
|
||||
},
|
||||
/** 根据角色ID查询菜单树结构 */
|
||||
getRoleMenuTreeselect(roleId) {
|
||||
return roleMenuTreeselect(roleId).then(response => {
|
||||
this.menuOptions = response.menus;
|
||||
return response;
|
||||
});
|
||||
},
|
||||
/** 根据角色ID查询部门树结构 */
|
||||
getDeptTree(roleId) {
|
||||
return deptTreeSelect(roleId).then(response => {
|
||||
this.deptOptions = response.depts;
|
||||
return response;
|
||||
});
|
||||
},
|
||||
// 角色状态修改
|
||||
handleStatusChange(row) {
|
||||
let text = row.status === "0" ? "启用" : "停用";
|
||||
this.$modal.confirm('确认要"' + text + '""' + row.roleName + '"角色吗?').then(function() {
|
||||
return changeRoleStatus(row.roleId, row.status);
|
||||
}).then(() => {
|
||||
this.$modal.msgSuccess(text + "成功");
|
||||
}).catch(function() {
|
||||
row.status = row.status === "0" ? "1" : "0";
|
||||
});
|
||||
},
|
||||
// 取消按钮
|
||||
|
@ -410,31 +223,52 @@ export default {
|
|||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 取消按钮(数据权限)
|
||||
cancelDataScope() {
|
||||
this.openDataScope = false;
|
||||
this.reset();
|
||||
cancel1() {
|
||||
this.open1 = false;
|
||||
this.reset1();
|
||||
},
|
||||
reset1() {
|
||||
this.timeRange1 = ['',''];
|
||||
this.form1= {};
|
||||
this.resetForm("form1");
|
||||
},
|
||||
export1(row) {
|
||||
this.open1 = true;
|
||||
this.form1.id = row.storeId;
|
||||
this.form1.name = row.storeName;
|
||||
},
|
||||
submitExport: function() {
|
||||
if(this.timeRange1==undefined || this.timeRange1.length == 0){
|
||||
this.$modal.msgSuccess("请填写时段!");
|
||||
return
|
||||
}
|
||||
this.form1.exportStartTime = this.timeRange1[0]
|
||||
this.form1.exportEndTime = this.timeRange1[1]
|
||||
this.$refs["form1"].validate(valid => {
|
||||
if (valid) {
|
||||
this.queryParams1.expStartTime = this.form1.exportStartTime;
|
||||
this.queryParams1.expEndTime = this.form1.exportEndTime;
|
||||
this.queryParams1.storeId = this.form1.id;
|
||||
this.queryParams1.storeName = this.form1.name;
|
||||
this.handleExport(this.queryParams1);
|
||||
|
||||
this.cancel1();
|
||||
}
|
||||
});
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
if (this.$refs.menu != undefined) {
|
||||
this.$refs.menu.setCheckedKeys([]);
|
||||
}
|
||||
this.menuExpand = false,
|
||||
this.menuNodeAll = false,
|
||||
this.deptExpand = true,
|
||||
this.deptNodeAll = false,
|
||||
this.form = {
|
||||
roleId: undefined,
|
||||
roleName: undefined,
|
||||
roleKey: undefined,
|
||||
roleSort: 0,
|
||||
status: "0",
|
||||
menuIds: [],
|
||||
deptIds: [],
|
||||
menuCheckStrictly: true,
|
||||
deptCheckStrictly: true,
|
||||
remark: undefined
|
||||
id: null,
|
||||
storeId: null,
|
||||
lastOrderNum: null,
|
||||
lastPositiveReviewsNum: null,
|
||||
lastFiveStarReviewsNum: null,
|
||||
lastReturnVisitNum: null,
|
||||
lastReturnVisitRate: null,
|
||||
todayReturnVisitNum: null,
|
||||
score: null,
|
||||
createTime: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
|
@ -445,127 +279,43 @@ export default {
|
|||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.roleId)
|
||||
this.single = selection.length!=1
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
// 更多操作触发
|
||||
handleCommand(command, row) {
|
||||
switch (command) {
|
||||
case "handleDataScope":
|
||||
this.handleDataScope(row);
|
||||
break;
|
||||
case "handleAuthUser":
|
||||
this.handleAuthUser(row);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
// 树权限(展开/折叠)
|
||||
handleCheckedTreeExpand(value, type) {
|
||||
if (type == 'menu') {
|
||||
let treeList = this.menuOptions;
|
||||
for (let i = 0; i < treeList.length; i++) {
|
||||
this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
|
||||
}
|
||||
} else if (type == 'dept') {
|
||||
let treeList = this.deptOptions;
|
||||
for (let i = 0; i < treeList.length; i++) {
|
||||
this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value;
|
||||
}
|
||||
}
|
||||
},
|
||||
// 树权限(全选/全不选)
|
||||
handleCheckedTreeNodeAll(value, type) {
|
||||
if (type == 'menu') {
|
||||
this.$refs.menu.setCheckedNodes(value ? this.menuOptions: []);
|
||||
} else if (type == 'dept') {
|
||||
this.$refs.dept.setCheckedNodes(value ? this.deptOptions: []);
|
||||
}
|
||||
},
|
||||
// 树权限(父子联动)
|
||||
handleCheckedTreeConnect(value, type) {
|
||||
if (type == 'menu') {
|
||||
this.form.menuCheckStrictly = value ? true: false;
|
||||
} else if (type == 'dept') {
|
||||
this.form.deptCheckStrictly = value ? true: false;
|
||||
}
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.getMenuTreeselect();
|
||||
this.open = true;
|
||||
this.title = "添加角色";
|
||||
this.title = "添加店铺单日历史信息";
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const roleId = row.roleId || this.ids
|
||||
const roleMenu = this.getRoleMenuTreeselect(roleId);
|
||||
getRole(roleId).then(response => {
|
||||
const id = row.id || this.ids
|
||||
getInfo(id).then(response => {
|
||||
this.form = response.data;
|
||||
this.open = true;
|
||||
this.$nextTick(() => {
|
||||
roleMenu.then(res => {
|
||||
let checkedKeys = res.checkedKeys
|
||||
checkedKeys.forEach((v) => {
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.menu.setChecked(v, true ,false);
|
||||
})
|
||||
})
|
||||
this.title = "修改店铺单日历史信息";
|
||||
});
|
||||
});
|
||||
this.title = "修改角色";
|
||||
});
|
||||
},
|
||||
/** 选择角色权限范围触发 */
|
||||
dataScopeSelectChange(value) {
|
||||
if(value !== '2') {
|
||||
this.$refs.dept.setCheckedKeys([]);
|
||||
}
|
||||
},
|
||||
/** 分配数据权限操作 */
|
||||
handleDataScope(row) {
|
||||
this.reset();
|
||||
const deptTreeSelect = this.getDeptTree(row.roleId);
|
||||
getRole(row.roleId).then(response => {
|
||||
this.form = response.data;
|
||||
this.openDataScope = true;
|
||||
this.$nextTick(() => {
|
||||
deptTreeSelect.then(res => {
|
||||
this.$refs.dept.setCheckedKeys(res.checkedKeys);
|
||||
});
|
||||
});
|
||||
this.title = "分配数据权限";
|
||||
});
|
||||
},
|
||||
/** 分配用户操作 */
|
||||
handleAuthUser: function(row) {
|
||||
const roleId = row.roleId;
|
||||
this.$router.push("/system/role-auth/user/" + roleId);
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.roleId != undefined) {
|
||||
this.form.menuIds = this.getMenuAllCheckedKeys();
|
||||
updateRole(this.form).then(response => {
|
||||
if (this.form.id != null) {
|
||||
updateInfo(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
});
|
||||
} else {
|
||||
this.form.menuIds = this.getMenuAllCheckedKeys();
|
||||
addRole(this.form).then(response => {
|
||||
addInfo(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
|
@ -574,32 +324,26 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
/** 提交按钮(数据权限) */
|
||||
submitDataScope: function() {
|
||||
if (this.form.roleId != undefined) {
|
||||
this.form.deptIds = this.getDeptAllCheckedKeys();
|
||||
dataScope(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.openDataScope = false;
|
||||
this.getList();
|
||||
});
|
||||
}
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const roleIds = row.roleId || this.ids;
|
||||
this.$modal.confirm('是否确认删除角色编号为"' + roleIds + '"的数据项?').then(function() {
|
||||
return delRole(roleIds);
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除店铺单日历史信息编号为"' + ids + '"的数据项?').then(function() {
|
||||
return delInfo(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/role/export', {
|
||||
...this.queryParams
|
||||
}, `role_${new Date().getTime()}.xlsx`)
|
||||
// handleExport() {
|
||||
// this.download('system/info/export', {
|
||||
// ...this.queryParams
|
||||
// }, `info_${new Date().getTime()}.xlsx`)
|
||||
// }
|
||||
handleExport(data) {
|
||||
this.download('excel/info/export', {
|
||||
...this.queryParams1
|
||||
}, data.storeName+`_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -212,12 +212,6 @@
|
|||
icon="el-icon-mouse"
|
||||
@click="handleUpdate(scope.row)"
|
||||
>设置</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-mouse"
|
||||
@click="export1(scope.row)"
|
||||
>导出</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
Loading…
Reference in New Issue