消费项目排序和样式
This commit is contained in:
parent
43203ff88d
commit
2ad86d7945
ruoyi-ui/src/views/benyi/customer
ruoyi/src/main/java/com/ruoyi/framework
@ -1,127 +1,139 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryForm"
|
||||
:inline="true"
|
||||
label-width="88px"
|
||||
>
|
||||
<el-form-item label="客户姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话" prop="lxdh">
|
||||
<el-input
|
||||
v-model="queryParams.lxdh"
|
||||
placeholder="请输入联系电话"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="幼儿园名称" prop="schoolname">
|
||||
<el-input
|
||||
v-model="queryParams.schoolname"
|
||||
placeholder="请输入幼儿园名称"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在省" prop="sheng">
|
||||
<el-input
|
||||
v-model="queryParams.sheng"
|
||||
placeholder="请输入所在省"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户来源" prop="khly">
|
||||
<el-select v-model="queryParams.khly" placeholder="请选择客户来源">
|
||||
<el-option
|
||||
v-for="dict in lyOptions"
|
||||
:key="dict.dictValue"
|
||||
:label="dict.dictLabel"
|
||||
:value="dict.dictValue"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户身份" prop="sflx">
|
||||
<el-select v-model="queryParams.sflx" placeholder="请选择客户身份">
|
||||
<el-option
|
||||
v-for="dict in gxOptions"
|
||||
:key="dict.dictValue"
|
||||
:label="dict.dictLabel"
|
||||
:value="dict.dictValue"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</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 :model="queryParams" ref="queryForm" label-width="70px">
|
||||
<el-row :gutter="10">
|
||||
<el-col :xs="24" :ms="12" :md="5">
|
||||
<el-form-item label="客户姓名" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入姓名"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :ms="12" :md="5">
|
||||
<el-form-item label="联系电话" prop="lxdh">
|
||||
<el-input
|
||||
v-model="queryParams.lxdh"
|
||||
placeholder="请输入联系电话"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :ms="12" :md="5">
|
||||
<el-form-item label="园所名称" prop="schoolname">
|
||||
<el-input
|
||||
v-model="queryParams.schoolname"
|
||||
placeholder="请输入园所名称"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :ms="12" :md="5">
|
||||
<el-form-item label="所在省" prop="sheng">
|
||||
<el-input
|
||||
v-model="queryParams.sheng"
|
||||
placeholder="请输入所在省"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :ms="12" :md="5">
|
||||
<el-form-item label="客户来源" prop="khly">
|
||||
<el-select v-model="queryParams.khly" placeholder="请选择客户来源">
|
||||
<el-option
|
||||
v-for="dict in lyOptions"
|
||||
:key="dict.dictValue"
|
||||
:label="dict.dictLabel"
|
||||
:value="dict.dictValue"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :ms="12" :md="5">
|
||||
<el-form-item label="客户身份" prop="sflx">
|
||||
<el-select v-model="queryParams.sflx" placeholder="请选择客户身份">
|
||||
<el-option
|
||||
v-for="dict in gxOptions"
|
||||
:key="dict.dictValue"
|
||||
:label="dict.dictLabel"
|
||||
:value="dict.dictValue"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :ms="12" :md="4">
|
||||
<el-form-item class="no-margin">
|
||||
<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-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['benyi:customer:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['benyi:customer:edit']"
|
||||
>修改</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['benyi:customer:remove']"
|
||||
>删除</el-button
|
||||
>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="mb8 btn-list">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['benyi:customer:add']"
|
||||
>新增</el-button
|
||||
>
|
||||
<el-button
|
||||
type="success"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['benyi:customer:edit']"
|
||||
>修改</el-button
|
||||
>
|
||||
<el-button
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['benyi:customer:remove']"
|
||||
>删除</el-button
|
||||
>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
border
|
||||
:data="customerList"
|
||||
@selection-change="handleSelectionChange"
|
||||
@sort-change="sortChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="客户姓名" align="center" prop="name" />
|
||||
<el-table-column label="幼儿园名称" align="center" prop="schoolname" />
|
||||
<el-table-column fixed label="客户姓名" align="center" prop="name" />
|
||||
<el-table-column
|
||||
label="幼儿园人数"
|
||||
fixed
|
||||
label="园所名称"
|
||||
align="center"
|
||||
prop="schoolname"
|
||||
/>
|
||||
<el-table-column
|
||||
label="园所人数"
|
||||
width="100"
|
||||
align="center"
|
||||
prop="rs"
|
||||
sortable="rs"
|
||||
@ -141,11 +153,23 @@
|
||||
<el-table-column label="联系电话" align="center" prop="lxdh" />
|
||||
<el-table-column label="微信号" align="center" prop="wx" />
|
||||
<el-table-column label="抖音号" align="center" prop="dy" />
|
||||
<el-table-column label="其他联系方式" align="center" prop="qt" />
|
||||
<el-table-column label="其他联系方式" width="100" align="center" prop="qt" />
|
||||
<el-table-column label="所在省" align="center" prop="sheng" />
|
||||
<el-table-column label="所在市" align="center" prop="shi" />
|
||||
<el-table-column label="消费项目" align="center" prop="xfxm" sortable="xfxm" />
|
||||
<el-table-column label="消费价值" align="center" prop="xfjz" sortable="xfjz" />
|
||||
<el-table-column
|
||||
label="消费项目"
|
||||
align="center"
|
||||
prop="xfxm"
|
||||
width="110"
|
||||
sortable="xfxm"
|
||||
/>
|
||||
<el-table-column
|
||||
label="消费价值"
|
||||
width="110"
|
||||
align="center"
|
||||
prop="xfjz"
|
||||
sortable="xfjz"
|
||||
/>
|
||||
<el-table-column
|
||||
label="录入人"
|
||||
align="center"
|
||||
@ -154,11 +178,13 @@
|
||||
/>
|
||||
<el-table-column label="录入时间" align="center" prop="createTime" />
|
||||
<el-table-column label="过保时间" align="center" prop="gbtime" />
|
||||
<el-table-column label="转换跟进" align="center" prop="zhgj" />
|
||||
<el-table-column label="转换跟进" show-overflow-tooltip align="center" prop="zhgj" />
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
width="60"
|
||||
class-name="small-padding fixed-width edit-btns"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
@ -199,18 +225,18 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="幼儿园名称" prop="schoolname">
|
||||
<el-form-item label="园所名称" prop="schoolname">
|
||||
<el-input
|
||||
v-model="form.schoolname"
|
||||
placeholder="请输入幼儿园名称"
|
||||
placeholder="请输入园所名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="幼儿园人数" prop="rs">
|
||||
<el-form-item label="园所人数" prop="rs">
|
||||
<el-input-number
|
||||
v-model="form.rs"
|
||||
placeholder="请输入幼儿园人数"
|
||||
placeholder="请输入园所人数"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -402,10 +428,10 @@ export default {
|
||||
{ required: true, message: "客户姓名不能为空", trigger: "blur" },
|
||||
],
|
||||
schoolname: [
|
||||
{ required: true, message: "幼儿园名称不能为空", trigger: "blur" },
|
||||
{ required: true, message: "园所名称不能为空", trigger: "blur" },
|
||||
],
|
||||
lxdh: [
|
||||
{ required: true, message: "幼儿园名称不能为空", trigger: "blur" },
|
||||
{ required: true, message: "联系电话不能为空", trigger: "blur" },
|
||||
],
|
||||
sheng: [
|
||||
{
|
||||
@ -629,4 +655,21 @@ export default {
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-select {
|
||||
width: 100%;
|
||||
}
|
||||
.my-date-picker {
|
||||
width: 100%;
|
||||
}
|
||||
.edit-btns {
|
||||
.el-button {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
.no-margin ::v-deep.el-form-item__content {
|
||||
margin: 0 !important;
|
||||
}
|
||||
</style>
|
@ -82,15 +82,18 @@ public class SysLoginService {
|
||||
Collection<String> keys = redisCache.keys(Constants.LOGIN_TOKEN_KEY + "*");
|
||||
List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
|
||||
for (String key : keys) {
|
||||
LoginUser user = redisCache.getCacheObject(key);
|
||||
if (StringUtils.isNotEmpty(username) && StringUtils.isNotNull(user.getUser())) {
|
||||
if (StringUtils.equals(username, user.getUsername())) {
|
||||
//存在已经登录用户,抛出异常
|
||||
try {
|
||||
LoginUser user = redisCache.getCacheObject(key);
|
||||
if (StringUtils.isNotEmpty(username) && StringUtils.isNotNull(user.getUser())) {
|
||||
if (StringUtils.equals(username, user.getUsername())) {
|
||||
//存在已经登录用户,抛出异常
|
||||
// CustomException alreadyLoginExcep = new CustomException("该账号已在别处登陆", HttpStatus.ALREADY_LOGIN);
|
||||
// alreadyLoginExcep.setObj(username);
|
||||
// throw alreadyLoginExcep;
|
||||
redisCache.deleteObject(key);
|
||||
redisCache.deleteObject(key);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,15 +24,13 @@ import com.ruoyi.framework.web.page.TableSupport;
|
||||
|
||||
/**
|
||||
* web层通用数据处理
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public class BaseController
|
||||
{
|
||||
public class BaseController {
|
||||
protected final Logger logger = LoggerFactory.getLogger(BaseController.class);
|
||||
|
||||
public static String getUUID32()
|
||||
{
|
||||
public static String getUUID32() {
|
||||
return UUID.randomUUID().toString().replace("-", "").toLowerCase();
|
||||
}
|
||||
|
||||
@ -40,14 +38,11 @@ public class BaseController
|
||||
* 将前台传递过来的日期格式的字符串,自动转化为Date类型
|
||||
*/
|
||||
@InitBinder
|
||||
public void initBinder(WebDataBinder binder)
|
||||
{
|
||||
public void initBinder(WebDataBinder binder) {
|
||||
// Date 类型转换
|
||||
binder.registerCustomEditor(Date.class, new PropertyEditorSupport()
|
||||
{
|
||||
binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
|
||||
@Override
|
||||
public void setAsText(String text)
|
||||
{
|
||||
public void setAsText(String text) {
|
||||
setValue(DateUtils.parseDate(text));
|
||||
}
|
||||
});
|
||||
@ -56,14 +51,19 @@ public class BaseController
|
||||
/**
|
||||
* 设置请求分页数据
|
||||
*/
|
||||
protected void startPage()
|
||||
{
|
||||
protected void startPage() {
|
||||
PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||
Integer pageNum = pageDomain.getPageNum();
|
||||
Integer pageSize = pageDomain.getPageSize();
|
||||
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
|
||||
{
|
||||
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
|
||||
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
|
||||
// System.out.println("order:" + orderBy);
|
||||
//特殊情况处理 汉字排序
|
||||
if (orderBy.equals("xfxm asc")) {
|
||||
orderBy = "CONVERT(xfxm USING gbk) asc";
|
||||
} else if (orderBy.equals("xfxm desc")) {
|
||||
orderBy = "CONVERT(xfxm USING gbk) desc";
|
||||
}
|
||||
PageHelper.startPage(pageNum, pageSize, orderBy);
|
||||
}
|
||||
}
|
||||
@ -71,9 +71,8 @@ public class BaseController
|
||||
/**
|
||||
* 响应请求分页数据
|
||||
*/
|
||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||
protected TableDataInfo getDataTable(List<?> list)
|
||||
{
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
protected TableDataInfo getDataTable(List<?> list) {
|
||||
TableDataInfo rspData = new TableDataInfo();
|
||||
rspData.setCode(HttpStatus.SUCCESS);
|
||||
rspData.setRows(list);
|
||||
@ -83,12 +82,11 @@ public class BaseController
|
||||
|
||||
/**
|
||||
* 响应返回结果
|
||||
*
|
||||
*
|
||||
* @param rows 影响行数
|
||||
* @return 操作结果
|
||||
*/
|
||||
protected AjaxResult toAjax(int rows)
|
||||
{
|
||||
protected AjaxResult toAjax(int rows) {
|
||||
return rows > 0 ? AjaxResult.success() : AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user