添加网站文件
This commit is contained in:
77
application/admin/view/custom/channel_add.html
Normal file
77
application/admin/view/custom/channel_add.html
Normal file
@@ -0,0 +1,77 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-item .layui-input-inline {
|
||||
width: 270px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form" lay-filter="layuiadmin-form-admin" id="layuiadmin-form-admin" style="padding: 20px 30px 0 0;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">父类菜单</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="pid" name="pid" class="layui-select">
|
||||
<option value="0">顶级</option>
|
||||
{volist name='menu_lists' id='vo'}
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" placeholder="请输入菜单名称" autocomplete="off" class="layui-input" lay-verify="required" placeholder="请输入菜单名称" lay-vertype="tips">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="numbernumber" name="sort" autocomplete="off" class="layui-input" lay-verify="required" placeholder="请输入排序,数字越大越靠前" lay-vertype="tips" value="50">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="menu-submit" id="menu-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/' //静态资源所在路径
|
||||
}).extend({
|
||||
iconPicker: 'iconpicker/module/iconPicker/iconPicker' //主入口模块
|
||||
}).use(['form','iconPicker'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form ;
|
||||
var iconPicker = layui.iconPicker;
|
||||
|
||||
iconPicker.render({
|
||||
// 选择器,推荐使用input
|
||||
elem: '#iconPicker',
|
||||
// 数据类型:fontClass/unicode,推荐使用fontClass
|
||||
type: 'fontClass',
|
||||
// 是否开启搜索:true/false,默认true
|
||||
search: true,
|
||||
// 是否开启分页:true/false,默认true
|
||||
page: true,
|
||||
// 每页显示数量,默认12
|
||||
limit: 50,
|
||||
// 每个图标格子的宽度:'43px'或'20%'
|
||||
cellWidth: '43px',
|
||||
// 点击回调
|
||||
click: function (data) {
|
||||
$('input[name="icon"]').val(data.icon);
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(type)', function (data) {
|
||||
if (data.value == 1) {
|
||||
$("#pid").prepend("<option value='0'>顶级</option>");
|
||||
} else {
|
||||
$("#pid option[value='0']").remove();
|
||||
}
|
||||
form.render('select');
|
||||
});
|
||||
|
||||
})
|
||||
</script>
|
||||
129
application/admin/view/custom/custom.html
Normal file
129
application/admin/view/custom/custom.html
Normal file
@@ -0,0 +1,129 @@
|
||||
{layout name="layout1" /}
|
||||
<div class="admin-main layui-anim layui-anim-upbit">
|
||||
<div class="layui-row" style="background-color: #fff;">
|
||||
<div class="layui-col-xs6" style=" margin-top: 20px;">
|
||||
<ul class="layui-timeline">
|
||||
|
||||
{foreach $result.comment as $vo }
|
||||
<li class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<h3 class="layui-timeline-title" style="color: rosybrown;font-size: 15px">
|
||||
{$vo.create_time|date='Y年m月d日 H:i'} {$vo.name} {$vo.phone}</h3>
|
||||
<p>
|
||||
{$vo.connect}
|
||||
</p>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="layui-col-xs6" style="padding: 0px 10px 0px 10px;">
|
||||
|
||||
<fieldset class="layui-elem-field " style="padding: 15px 15px 0px 15px">
|
||||
<legend>跟进记录</legend>
|
||||
|
||||
<div class="layui-form layui-form-pane" style="margin-top: 20px;">
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<a name="comment"></a>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="reply_msg" id="reply_msg" required lay-verify="required" placeholder="请输入跟进的内容" class="layui-textarea fly-editor" style="height: 150px;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input type="hidden" name="custom_id" value="{$id}">
|
||||
<button class="layui-btn" lay-filter="btn_comment" lay-submit>提交记录</button>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'layer','jquery'], function () {
|
||||
var form = layui.form, layer = layui.layer,$ = layui.jquery;
|
||||
|
||||
|
||||
form.on('submit(btn_comment)',function (data) {
|
||||
console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
|
||||
console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
|
||||
console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
|
||||
$.ajax(
|
||||
{
|
||||
method:'post',
|
||||
url:"{:url('Custom/comment')}",
|
||||
async:false,
|
||||
data:data.field,
|
||||
success:function (res) {
|
||||
layer.msg(res.msg,function () {
|
||||
console.log('返回参数',res)
|
||||
/* window.location = "{:url('Index/index')}"
|
||||
return false;*/
|
||||
$('#reply_msg').val('');
|
||||
|
||||
$('.layui-timeline').append("<li class=\"layui-timeline-item\">\n" +
|
||||
" <i class=\"layui-icon layui-timeline-axis\"></i>\n" +
|
||||
" <div class=\"layui-timeline-content layui-text\">\n" +
|
||||
" <h3 class=\"layui-timeline-title\" style=\"color: rosybrown;font-size: 15px\">\n" +
|
||||
"\n" +
|
||||
" "+res.data.create_time+res.data.name+res.data.phone+"</h3>\n" +
|
||||
" <p>\n" +" \n" +
|
||||
|
||||
" "+ res.data.connect+"\n" +
|
||||
"\n" +
|
||||
" </p>\n" +
|
||||
" </div>\n" +
|
||||
" </li>");
|
||||
|
||||
});
|
||||
},
|
||||
error:function (res) {
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
|
||||
})
|
||||
|
||||
form.on('submit(btn_reply)',function (data) {
|
||||
console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
|
||||
console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
|
||||
console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
|
||||
$.ajax(
|
||||
{
|
||||
method:'post',
|
||||
url:"{:url('Index/reply')}",
|
||||
async:false,
|
||||
data:data.field,
|
||||
success:function (res) {
|
||||
layer.msg(res.msg,function () {
|
||||
/* window.location = "{:url('Index/index')}"
|
||||
return false;*/
|
||||
$('#reply_msg').val('');
|
||||
|
||||
$('.layui-timeline').append(" <li class=\"layui-timeline-item\">\n" +
|
||||
" <i class=\"layui-icon layui-timeline-axis\"></i>\n" +
|
||||
" <div class=\"layui-timeline-content layui-text\">\n" +
|
||||
" <h3 class=\"layui-timeline-title\">"+res.data.user_id+"</h3>\n" +
|
||||
" <p>\n" + res.data.reply_msg+"<small>"+res.data.create_date+"</small>\n" +
|
||||
" </p>\n" +
|
||||
" </div>\n" +
|
||||
" </li>")
|
||||
|
||||
});
|
||||
},
|
||||
error:function (res) {
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
|
||||
})
|
||||
|
||||
});
|
||||
</script>
|
||||
124
application/admin/view/custom/dispatch.html
Normal file
124
application/admin/view/custom/dispatch.html
Normal file
@@ -0,0 +1,124 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-label {
|
||||
color: #6a6f6c;
|
||||
width: 100px;
|
||||
}
|
||||
.layui-input-block {
|
||||
margin-left: 130px;
|
||||
}
|
||||
.tips{
|
||||
color: red;
|
||||
}
|
||||
.goods-li {
|
||||
float: left;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.goods-img {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
padding: 4px;
|
||||
}
|
||||
.goods-img-del-x {
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -4px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form" lay-filter="layuiadmin-form-user_level" id="layuiadmin-form-user_level" style="padding: 20px 30px 0 0;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="tips">*</span>跟踪人员:</label>
|
||||
<div class="layui-input-inline" style="width: 350px;">
|
||||
<select id="admin_id" name="admin_id" style="width: 350px;">
|
||||
<option value="" selected>全部</option>
|
||||
{foreach $user as $item }
|
||||
<option value="{$item.id}">{$item.name}</option>
|
||||
{/foreach}
|
||||
<option value="0">移入公海</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="adjust_level-submit" id="adjust_level-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-form-label {
|
||||
width: 100px;
|
||||
}
|
||||
.layui-input-block {
|
||||
margin-left: 130px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/static/plug/formSelects/formSelects-v4.css" />
|
||||
<script src="/static/plug/formSelects/formSelects-v4.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'form','like'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,like = layui.like
|
||||
,formSelects = layui.formSelects
|
||||
;
|
||||
//上传图片
|
||||
like.imageUpload('.goods-img-add', function (uri, element) {
|
||||
if(uri.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
var html = '<div class="goods-li">\n' +
|
||||
'<img class="goods-img" ' +
|
||||
'src="' + uri[0] + '">' +
|
||||
'<a class="goods-img-del-x" style="display: none">x</a>' +
|
||||
'</div>';
|
||||
element.prev().val(like.getUrlFileName(uri[0], '{$storageUrl}'));
|
||||
element.parent().append(html);
|
||||
element.css('display','none');
|
||||
}, true);
|
||||
//删除图片
|
||||
$(document).on('click', '.goods-img-del-x', function () {
|
||||
$(this).parent().siblings('input').val('');
|
||||
$(this).parent().prev().css('display','block');
|
||||
$(this).parent().remove();
|
||||
});
|
||||
//显示图片
|
||||
$(document).on('click', '.goods-img', function () {
|
||||
var image = $(this).attr('src');
|
||||
like.showImg(image,600);
|
||||
});
|
||||
// 删除按钮的显示与隐藏
|
||||
$(document).on('mouseover', '.goods-img', function () {
|
||||
$(this).next().show();
|
||||
});
|
||||
$(document).on('mouseout', '.goods-img', function () {
|
||||
$(this).next().hide();
|
||||
});
|
||||
$(document).on('mouseover', '.goods-img-del-x', function () {
|
||||
$(this).show();
|
||||
});
|
||||
$(document).on('mouseout', '.goods-img-del-x', function () {
|
||||
$(this).hide();
|
||||
});
|
||||
//三级联动
|
||||
formSelects.value('privilege',select_id);
|
||||
})
|
||||
|
||||
</script>
|
||||
503
application/admin/view/custom/edit.html
Normal file
503
application/admin/view/custom/edit.html
Normal file
@@ -0,0 +1,503 @@
|
||||
{layout name="layout2" /}
|
||||
<link rel="stylesheet" href="/static/admin/css/goods.css" media="all">
|
||||
<div class="">
|
||||
<div class="layui-tab-content layui-form">
|
||||
<div class="layui-tab-item goods-content layui-show">
|
||||
<div class="layui-card-body" pad15>
|
||||
<div lay-filter="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="form-label-asterisk">*</span>用户姓名:</label>
|
||||
<input type="hidden" id="id" name="id">
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" lay-verify="custom_required" lay-verType="tips"
|
||||
autocomplete="off"
|
||||
switch-tab="0" verify-msg="请输入用户的姓名" placeholder="请输入用户名称"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">性别:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="sex" value="0" title="未知">
|
||||
<input type="radio" name="sex" value="1" title="男" >
|
||||
<input type="radio" name="sex" value="2" title="女">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户电话:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="phone" lay-verType="tips" verify-msg="请输入用户电话号码" placeholder="请输入用户联系电话" autocomplete="off" switch-tab="0" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="form-label-asterisk">*</span>联系地址:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="first_category_id" lay-filter="first_category" lay-verify="custom_required"
|
||||
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
|
||||
<option value="">请选择地区</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="second_category_id" lay-filter="second_category" lay-verify="custom_required"
|
||||
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
|
||||
<option value="">请选择地区</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="third_category_id" lay-filter="third_category" lay-verify="custom_required"
|
||||
lay-verType="tips" switch-tab="0" verify-msg="请选择地区">
|
||||
<option value="">请选择地区</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">房屋面积:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="areas" lay-verType="tips" autocomplete="off" switch-tab="0" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" style="display:flex">
|
||||
<label class="layui-form-label">是否宠物:</label>
|
||||
<div class="layui-col-sm1" style="width: 40%;">
|
||||
<input type="radio" name="pet" value="0" title="无" >
|
||||
<input type="radio" name="pet" value="1" title="有">
|
||||
<input type="radio" name="pet" value="2" title="未知">
|
||||
</div>
|
||||
|
||||
<label class="layui-form-label">超厚玻璃:</label>
|
||||
<div class="layui-col-sm1" style="width: 40%;">
|
||||
<input type="radio" name="hbl" value="0" title="无" >
|
||||
<input type="radio" name="hbl" value="1" title="有">
|
||||
<input type="radio" name="hbl" value="2" title="未知">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="margin-top: 10px;">渠道来源:</label>
|
||||
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
|
||||
<select name="brand_id" lay-verType="tips" switch-tab="0" verify-msg="请选择渠道来源">
|
||||
<option value="">请选择渠道来源</option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">联系地址:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="address" id="demo1" lay-verType="tips" autocomplete="off" switch-tab="0" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">位置精度:</label>
|
||||
<div class="layui-input-inline" style="width: 20%;">
|
||||
<input type="text" name="store_longitude" class="layui-input" placeholder="请输入经度" value="" id="lon" lay-filter="lon" >
|
||||
</div>
|
||||
<label class="layui-form-label">位置维度:</label>
|
||||
<div class="layui-input-inline" style="width: 20%;">
|
||||
<input type="text" name="store_latitude" class="layui-input" placeholder="请输入经度" value="" id="lat" lay-filter="lat" >
|
||||
</div>
|
||||
</div>
|
||||
<div id="tMap" class="layui-hide" style="padding: 10px;margin-left: 3%; width: 100%;">
|
||||
<div class="layui-form layuimini-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_key" id="search_key" class="layui-input" placeholder="请输入地名" >
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm searchKey" >查询</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="maplocation" style="width:1080px;height:400px;"></div>
|
||||
</div>
|
||||
<style>
|
||||
body .layui-ext-yourskin .layui-layer-btn0{
|
||||
border: 1px solid #dedede;
|
||||
background-color:#fff;
|
||||
color: #333;
|
||||
}
|
||||
body .layui-ext-yourskin .layui-layer-btn1{
|
||||
background-color:#1E9FFF;
|
||||
border-color:#1E9FFF;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="adjust_user-submit" id="adjust_user-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=EVOBZ-VX7YU-QKJVR-BVESA-AVFT3-7JBWG&libraries=drawing,geometry,place,convertor,visualization"></script>
|
||||
<script type="text/javascript">
|
||||
//注意:选项卡 依赖 element 模块,否则无法进行功能性操作
|
||||
var dragstart = 0;
|
||||
var swop_element_ed = -1;
|
||||
var create_table_by_spec = null;
|
||||
var spec_table_data = [];
|
||||
var spec_value_temp_id_number = 0;
|
||||
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index', 'element', 'jquery', 'like', 'likeedit'], function () {
|
||||
var $ = layui.$;
|
||||
var like = layui.like;
|
||||
var form = layui.form;
|
||||
var likeedit = layui.likeedit;
|
||||
|
||||
$('.first_ratio').bind('input propertychange', function() {
|
||||
var that = $(this);
|
||||
var value = that.val();
|
||||
format(that,value)
|
||||
|
||||
});
|
||||
$(document).on('click','#lon',function(){
|
||||
if(!$("#demo1").val()){
|
||||
layer.msg('请先填写客户所在地址', { icon: 5, anim: 6 });
|
||||
return false;
|
||||
}
|
||||
var markers = [];
|
||||
$("#tMap").removeClass('layui-hide');
|
||||
layer.open({
|
||||
type:1,
|
||||
area:["800px","600px"],
|
||||
title:"地图标识",
|
||||
btn: ['取消','确定'],
|
||||
skin: 'layui-ext-yourskin',
|
||||
content:layui.jquery('#tMap'),
|
||||
success:function(){
|
||||
let map = new qq.maps.Map(document.getElementById("maplocation"), {
|
||||
center: new qq.maps.LatLng(26.67865,106.62298), // 地图的中心地理坐标。
|
||||
zoom:13, // 地图的中心地理坐标。
|
||||
});
|
||||
|
||||
var latlngBounds = new qq.maps.LatLngBounds();
|
||||
searchService = new qq.maps.SearchService({
|
||||
|
||||
complete:function(results){
|
||||
console.log(results)
|
||||
var pois = results.detail.pois;
|
||||
var infoWin = new qq.maps.InfoWindow({
|
||||
map: map
|
||||
});
|
||||
var latlngBounds = new qq.maps.LatLngBounds();
|
||||
for (var i = 0, l = pois.length; i < l; i++) {
|
||||
var poi = pois[i];
|
||||
//扩展边界范围,用来包含搜索到的Poi点
|
||||
latlngBounds.extend(poi.latLng);
|
||||
|
||||
(function(n) {
|
||||
console.log(111)
|
||||
var marker = new qq.maps.Marker({
|
||||
map: map
|
||||
});
|
||||
marker.setPosition(pois[n].latLng);
|
||||
|
||||
marker.setTitle(i + 1);
|
||||
markers.push(marker);
|
||||
|
||||
|
||||
qq.maps.event.addListener(marker, 'click', function() {
|
||||
let latX = pois[n].latLng.getLat().toFixed(6);
|
||||
let lngY = pois[n].latLng.getLng().toFixed(6);
|
||||
$('#lon').val(latX);
|
||||
$('#lat').val(lngY);
|
||||
infoWin.open();
|
||||
infoWin.setContent('<div style="width:280px;height:100px;">' + '当前经纬度:' +
|
||||
pois[n].latLng + ',名称:' + pois[n].name + ',当前位置:' + pois[n].address +'</div>');
|
||||
infoWin.setPosition(pois[n].latLng);
|
||||
});
|
||||
})(i);
|
||||
}
|
||||
//调整地图视野
|
||||
map.fitBounds(latlngBounds);
|
||||
}
|
||||
});
|
||||
qq.maps.event.addListener(map, 'click', function(event) {
|
||||
var marker=new qq.maps.Marker({
|
||||
position:event.latLng,
|
||||
map:map,
|
||||
draggable: true,
|
||||
});
|
||||
var info = new qq.maps.InfoWindow({
|
||||
map: map
|
||||
});
|
||||
var point = event.latLng;
|
||||
let latX = point.getLat().toFixed(6);
|
||||
let lngY = point.getLng().toFixed(6);
|
||||
$('#lon').val(latX);
|
||||
$('#lat').val(lngY);
|
||||
|
||||
qq.maps.event.addListener(map, 'click', function(event) {
|
||||
|
||||
marker.setMap(null);
|
||||
});
|
||||
|
||||
qq.maps.event.addListener(marker, 'dragging', function(event) {
|
||||
|
||||
var latLng = event.latLng;
|
||||
let lat = latLng.getLat().toFixed(6);
|
||||
let lng = latLng.getLng().toFixed(6);
|
||||
$('#lon').val(lng);
|
||||
$('#lat').val(lat);
|
||||
});
|
||||
});
|
||||
|
||||
} ,
|
||||
yes: function(index, layero){
|
||||
|
||||
//do something
|
||||
layer.close(index); //如果设定了yes回调,需进行手工关闭
|
||||
},
|
||||
cancel: function(index, layero){
|
||||
//if(confirm('确定要关闭么')){ //只有当点击confirm框的确定时,该层才会关闭
|
||||
document.getElementById("tMap").style.display="none";//通过设置display属性可以使div隐藏后释放占用的页面空间
|
||||
layer.close(index)
|
||||
// }
|
||||
return false;
|
||||
} //这里content是一个普通的String
|
||||
});
|
||||
|
||||
$(document).on('click','.searchKey',function(){
|
||||
var search_key=$("#search_key").val();
|
||||
var city=$(".el-input__inner").val();
|
||||
searchService.setLocation(search_key);
|
||||
searchService.search(search_key);
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
//渲染品牌
|
||||
var brands = {$brand_lists | raw};
|
||||
setBrand();
|
||||
function setBrand(default_id) {
|
||||
var brand_select_html = '<option value="">请选择渠道来源</option>';
|
||||
for (var i in brands) {
|
||||
brand_select_html += '<option value="' + brands[i]['id'] + '">' + brands[i]['name'] + '</option>';
|
||||
}
|
||||
$('select[name="brand_id"]').html(brand_select_html);
|
||||
$('select[name="brand_id"]').val(default_id);
|
||||
form.render('select');
|
||||
}
|
||||
|
||||
|
||||
//分类联动
|
||||
var categorys = {$category_lists | raw};
|
||||
|
||||
setSelectFirst();
|
||||
function setSelectFirst(default_id) {
|
||||
var category_select_html = '<option value="">请选择分类</option>';
|
||||
for (var i in categorys) {
|
||||
if (categorys[i]['level'] == 1) {
|
||||
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
|
||||
}
|
||||
}
|
||||
$('select[name="first_category_id"]').html(category_select_html);
|
||||
$('select[name="first_category_id"]').val(default_id);
|
||||
form.render('select');
|
||||
}
|
||||
function setSelectSecond(default_id, parent_id) {
|
||||
parent_id = parent_id === undefined ? $('select[name="first_category_id"]').val() : parent_id;
|
||||
$('select[name="second_category_id"]').html('<option value="">请选择分类</option>');
|
||||
$('select[name="third_category_id"]').html('<option value="">请选择分类</option>');
|
||||
var category_select_html = '<option value="">请选择分类</option>';
|
||||
|
||||
for (var i in categorys) {
|
||||
if (categorys[i]['parent_id'] == parent_id) {
|
||||
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
|
||||
}
|
||||
}
|
||||
$('select[name="second_category_id"]').html(category_select_html);
|
||||
$('select[name="second_category_id"]').val(default_id);
|
||||
form.render('select');
|
||||
}
|
||||
function setSelectThird(default_id, parent_id) {
|
||||
parent_id = parent_id === undefined ? $('select[name="second_category_id"]').val() : parent_id;
|
||||
$('select[name="third_category_id"]').html('<option value="">请选择分类</option>');
|
||||
var first_category_id = $('select[name="first_category_id"]').val();
|
||||
var category_select_html = '<option value="">请选择分类</option>';
|
||||
for (var i in categorys) {
|
||||
if (categorys[i]['parent_id'] == parent_id) {
|
||||
category_select_html += '<option value="' + categorys[i]['id'] + '">' + categorys[i]['name'] + '</option>';
|
||||
}
|
||||
}
|
||||
$('select[name="third_category_id"]').html(category_select_html);
|
||||
$('select[name="third_category_id"]').val(default_id);
|
||||
form.render('select');
|
||||
}
|
||||
|
||||
form.on('select(first_category)', function (data) {
|
||||
setSelectSecond('', data.value);
|
||||
});
|
||||
form.on('select(second_category)', function (data) {
|
||||
setSelectThird('', data.value);
|
||||
});
|
||||
//------------------------价格库存----------------------------------
|
||||
//显示或隐藏规格项删除按钮
|
||||
$(document).on('mouseenter', '.goods-spec-value', function () {
|
||||
$(this).find('.goods-spec-value-del-x').show();
|
||||
});
|
||||
$(document).on('mouseleave', '.goods-spec-value', function () {
|
||||
$(this).find('.goods-spec-value-del-x').hide();
|
||||
});
|
||||
|
||||
|
||||
// 单规格图片
|
||||
like.imageUpload('.goods-one-spec-img-add', function (uris, element) {
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
element.hide();
|
||||
var key = element.parent().parent().parent().attr('spec-value-temp-ids');
|
||||
spec_table_data["spec_image[]"+key] = uris[0];//保存图片地址
|
||||
$(element).parent().html('<input name="one_spec_image" type="hidden" value="' + like.getUrlFileName(uris[0], '{$storageUrl}') + '"><a class="goods-one-spec-img-del-x">x</a><img class="goods-spec-img" src="' + uris[0] + '">');
|
||||
});
|
||||
$(document).on('mouseenter', '.goods-spec-img-div', function () {
|
||||
$(this).find('.goods-one-spec-img-del-x').show();
|
||||
});
|
||||
$(document).on('mouseleave', '.goods-spec-img-div', function () {
|
||||
$(this).find('.goods-one-spec-img-del-x').hide();
|
||||
});
|
||||
$(document).on('click', '.goods-one-spec-img-del-x', function () {
|
||||
$(this).parent().html('<input type="hidden" name="one_spec_image"><img src="/static/common/image/plug/goods-lists-add-image.png" class="goods-one-spec-img-add">');
|
||||
});
|
||||
|
||||
//多规格图片
|
||||
like.imageUpload('.goods-spec-img-add', function (uris, element) {
|
||||
|
||||
if(uris.length>1){
|
||||
layer.msg('最多最能选中1张图片');
|
||||
return;
|
||||
}
|
||||
element.hide();
|
||||
var key = element.parent().parent().parent().attr('spec-value-temp-ids');
|
||||
spec_table_data["spec_image[]"+key] = uris[0];//保存图片地址
|
||||
$(element).parent().html('<input name="spec_image[]" type="hidden" value="' + like.getUrlFileName(uris[0], '{$storageUrl}') + '"><a class="goods-spec-img-del-x">x</a><img class="goods-spec-img" src="' + uris[0] + '">');
|
||||
});
|
||||
$(document).on('mouseenter', '.goods-spec-img-div', function () {
|
||||
$(this).find('.goods-spec-img-del-x').show();
|
||||
});
|
||||
$(document).on('mouseleave', '.goods-spec-img-div', function () {
|
||||
$(this).find('.goods-spec-img-del-x').hide();
|
||||
});
|
||||
$(document).on('click', '.goods-spec-img-del-x', function () {
|
||||
var key = 'spec_image[]' + $(this).parent().parent().parent().attr('spec-value-temp-ids');
|
||||
$(this).parent().html('<input type="hidden" name="spec_image[]"><img src="/static/common/image/plug/goods-lists-add-image.png" class="goods-spec-img-add">');
|
||||
spec_table_data[key] = '';
|
||||
|
||||
});
|
||||
$(document).on('click', '.goods-spec-img', function () {
|
||||
like.showImg($(this).attr('src'),600);
|
||||
});
|
||||
|
||||
//规格生成表格
|
||||
createTableBySepc = function () {
|
||||
if ($('.goods-spec').size() <= 0) {
|
||||
$('#more-spec-lists').hide();
|
||||
return;
|
||||
}
|
||||
|
||||
$('#more-spec-lists').show();
|
||||
var table_title = [];
|
||||
var table_data = [];
|
||||
var spec_value_temp_arr = [];
|
||||
var i = 0;
|
||||
var th_html = $('#template-spec-table-th').html();
|
||||
var tr_html = $('#template-spec-table-tr').html();
|
||||
|
||||
//遍历规格项目
|
||||
$('.goods-spec').each(function () {
|
||||
var spec_name = $(this).find('.spec_name').first().val();
|
||||
if (isEmptyString(spec_name)) {
|
||||
return true;
|
||||
}
|
||||
table_title[i] = spec_name;
|
||||
table_data[i] = [];
|
||||
spec_value_temp_arr[i] = [];
|
||||
var j = 0;
|
||||
$(this).find('.goods-spec-value .goods-spec-value-input').each(function () {
|
||||
var spec_value = $(this).val();
|
||||
var spec_value_temp_id = $(this).attr('spec-value-temp-id');
|
||||
if (isEmptyString(spec_value)) {
|
||||
return true;
|
||||
}
|
||||
table_data[i][j] = spec_value;
|
||||
spec_value_temp_arr[i][j] = spec_value_temp_id;
|
||||
j++;
|
||||
});
|
||||
i++;
|
||||
});
|
||||
|
||||
table_html = '';
|
||||
|
||||
//表格头部组装
|
||||
spec_th_html = '';
|
||||
for (var i in table_title) {
|
||||
spec_th_html += '<th>' + table_title[i] + '</th>';
|
||||
}
|
||||
table_html = th_html.replace('{spec_th}', spec_th_html);
|
||||
|
||||
spec_value_temp_arr = cartesianProduct(spec_value_temp_arr);
|
||||
table_data = cartesianProduct(table_data);
|
||||
for (var i in table_data) {
|
||||
var spec_tr_html = '';
|
||||
var tr_name_arr = [];
|
||||
var specs = '';
|
||||
if (Array.isArray(table_data[i])) {
|
||||
//根据规格创建tr的id
|
||||
var spec_value_temp_ids = '';
|
||||
for(var j in spec_value_temp_arr[i]){
|
||||
spec_value_temp_ids += spec_value_temp_arr[i][j]+',';
|
||||
}
|
||||
spec_value_temp_ids = spec_value_temp_ids.substring(0, spec_value_temp_ids.lastIndexOf(','));
|
||||
spec_tr_html += '<tr spec-value-temp-ids="'+spec_value_temp_ids+'">';
|
||||
for (var j in table_data[i]) {
|
||||
spec_tr_html += '<td>' + table_data[i][j] + '</td>';
|
||||
tr_name_arr[j] = table_data[i][j];
|
||||
specs += table_data[i][j].replace(',', '') + ',';
|
||||
}
|
||||
} else {
|
||||
var spec_value_temp_ids = spec_value_temp_arr[i];
|
||||
spec_tr_html = '<tr spec-value-temp-ids="'+spec_value_temp_ids+'">';
|
||||
spec_tr_html += '<td>' + table_data[i] + '</td>';
|
||||
specs += table_data[i].replace(',', '') + ',';
|
||||
}
|
||||
specs = specs.substring(0, specs.lastIndexOf(','));
|
||||
spec_table_data["spec_value_str[]"+spec_value_temp_ids] = specs;
|
||||
spec_tr_html += '<td style="display: none"><input type="hidden" name="spec_value_str[]" value="' + specs + '"><input type="hidden" name="item_id[]" value=""></td>';
|
||||
table_html += tr_html.replace('{spec_td}', spec_tr_html);
|
||||
|
||||
}
|
||||
$('#more-spec-lists-table').html(table_html);
|
||||
setTableValue();
|
||||
}
|
||||
|
||||
{notempty name='info'}
|
||||
var goods_info= {$info|raw|default=''};
|
||||
console.log(goods_info);
|
||||
$('input[name="id"]').val(goods_info['id']);
|
||||
$('input[name="address"]').val(goods_info['address']);
|
||||
$('input[name="name"]').val(goods_info['contact']);
|
||||
$('input[name="phone"]').val(goods_info['telephone']);
|
||||
$('input[name="store_latitude"]').val(goods_info['lng']);
|
||||
$('input[name="store_longitude"]').val(goods_info['lat']);
|
||||
setSelectFirst(goods_info['province_id']);
|
||||
setSelectSecond(goods_info['city_id']);
|
||||
setSelectThird(goods_info['district_id']);
|
||||
$('input[name="areas"]').val(goods_info['areas']);
|
||||
setBrand(goods_info['brand_id']); //渲染品牌
|
||||
$("input[name=sex][value="+goods_info['sex']+"]").prop("checked",true);
|
||||
$("input[name=pet][value="+goods_info['pet']+"]").prop("checked",true);
|
||||
$("input[name=hbl][value="+goods_info['hbl']+"]").prop("checked",true);
|
||||
form.render();
|
||||
{/notempty}
|
||||
//------------------------编辑页面----------------------------------
|
||||
});
|
||||
</script>
|
||||
530
application/admin/view/custom/list.html
Normal file
530
application/admin/view/custom/list.html
Normal file
@@ -0,0 +1,530 @@
|
||||
{layout name="layout1" /}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<p>*会员列表,对会员进行编辑,账户调整,等级调整和资料查看等操作。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">客户姓名:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" id="name" placeholder="请输入客户姓名" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">用户电话:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="phone" id="phone" placeholder="请输入用户电话" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">用户地区:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="area_id" name="area_id" style="height:80px;width: 80px" >
|
||||
<option value="" selected>全部</option>
|
||||
<option value="520102">南明区</option>
|
||||
<option value="520103">云岩区</option>
|
||||
<option value="520111">花溪区</option>
|
||||
<option value="520112">乌当区</option>
|
||||
<option value="520113">白云区</option>
|
||||
<option value="520115">观山湖区</option>
|
||||
<option value="520122">息烽县</option>
|
||||
<option value="520123">修文县</option>
|
||||
<option value="520181">清镇市</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">跟进人员:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="area_id" name="area_id" style="height:80px;width: 80px" >
|
||||
<option value="" selected>全部</option>
|
||||
<option value="520102">杨佐荣</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">是否宠物:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="pet" name="pet" style="height:80px;width: 80px" >
|
||||
<option value="" selected>选择是否有宠物</option>
|
||||
<option value="1">有宠物</option>
|
||||
<option value="0">无宠物</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">超厚玻璃:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="hbl" name="hbl" style="height:80px;width: 80px" >
|
||||
<option value="" selected>用户是否有超厚玻璃</option>
|
||||
<option value="0">无超厚</option>
|
||||
<option value="1">有超厚</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">增加时间:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="start_time" name="start_time" autocomplete="off">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="margin-right: 5px;width: 10px;">
|
||||
<label class="layui-form-mid">-</label>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="end_time" name="end_time" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" lay-submit lay-filter="user-search">查询</button>
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="user-clear-search">清空查询</button>
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="export-file">导出</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<table id="user-lists" lay-filter="user-lists"></table>
|
||||
<script type="text/html" id="staff-info">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<p>会员ID:{{d.id}}</p>
|
||||
<p style="text-overflow:ellipsis;overflow: hidden">客户姓名:{{d.contact}}</p>
|
||||
<p>客户电话:{{d.telephone}}</p>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="adder">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<p>房屋地址:{{d.address}}</p>
|
||||
<p style="text-overflow:ellipsis;overflow: hidden">房屋面积:{{d.areas}}平方</p>
|
||||
<p>是否有宠物:
|
||||
{{# if(d.pet==1){}}
|
||||
有宠物
|
||||
{{# }else{ }}
|
||||
无宠物
|
||||
{{# } }}
|
||||
</p>
|
||||
<p>是否有厚玻璃:
|
||||
{{# if(d.hbl==1){}}
|
||||
有超厚玻璃
|
||||
{{# }else{ }}
|
||||
无超厚玻璃
|
||||
{{# } }}
|
||||
</p>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="reak">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<a lay-event="user_remark" style="display: inline-block;">用户备注:
|
||||
{{# if(d.user_remarks){}}
|
||||
{{d.user_remarks}}
|
||||
{{# }else{ }}
|
||||
-
|
||||
{{# } }}
|
||||
</a><br>
|
||||
<a lay-event="admin_remarks" style="display: inline-block;">管理员备注:
|
||||
{{# if(d.admin_remarks){}}
|
||||
{{d.admin_remarks}}
|
||||
{{# }else{ }}
|
||||
-
|
||||
{{# } }}
|
||||
</a><br>
|
||||
<a lay-event="staff_remarks" style="display: inline-block;">保洁师叮嘱:
|
||||
{{# if(d.staff_remarks){}}
|
||||
{{d.staff_remarks}}
|
||||
{{# }else{ }}
|
||||
-
|
||||
{{# } }}
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="qudao">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<p>渠道:{{d.qudao}}</p>
|
||||
|
||||
<a lay-event="staff_remarks" style="display: inline-block;">添加企微:
|
||||
{{# if(d.wx==1){}}
|
||||
添加
|
||||
{{# }else{ }}
|
||||
未添加
|
||||
{{# } }}
|
||||
</a>
|
||||
</div>
|
||||
<div>客户标签:3次年卡</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-operation">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="info">查看客户</a><p style="margin-bottom: 8px;"></p>
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="custom">跟进记录</a><p style="margin-bottom: 8px;"></p>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="dispatch">选择人员</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like','laydate'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like
|
||||
, laydate = layui.laydate;
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(user-search)', function(data){
|
||||
var field = data.field;
|
||||
//执行重载
|
||||
table.reload('user-lists', {
|
||||
where: field,
|
||||
page: {
|
||||
curr: 1 //重新从第 1 页开始
|
||||
}
|
||||
});
|
||||
});
|
||||
//日期时间范围
|
||||
laydate.render({
|
||||
elem: '#start_time'
|
||||
,type: 'datetime'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
//日期时间范围
|
||||
laydate.render({
|
||||
elem: '#end_time'
|
||||
,type: 'datetime'
|
||||
,trigger: 'click'
|
||||
});
|
||||
//清空查询
|
||||
form.on('submit(user-clear-search)', function(){
|
||||
$('#keyword_type').val('sn');
|
||||
$('#keyword').val(''); //清空输入框
|
||||
$('#level').val(''); //清空输入框
|
||||
$('#group_id').val(''); //清空输入框
|
||||
$('#start_time').val(''); //清空输入框
|
||||
$('#end_time').val(''); //清空输入框
|
||||
form.render('select');
|
||||
//刷新列表
|
||||
table.reload('user-lists', {
|
||||
where: [],
|
||||
page: {
|
||||
curr: 1 //重新从第 1 页开始
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 导出
|
||||
form.on('submit(export-file)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url: '{:url("user/exportFile")}',
|
||||
type: 'get',
|
||||
data: field,
|
||||
dataType: 'json',
|
||||
error: function() {
|
||||
layer.msg('导出超时,请稍后再试!');
|
||||
},
|
||||
success: function(res) {
|
||||
table.exportFile(res.data.exportTitle,res.data.exportData, res.data.exportExt, res.data.exportName);
|
||||
},
|
||||
timeout: 15000
|
||||
});
|
||||
layer.msg('导出中请耐心等待~');
|
||||
});
|
||||
//事件
|
||||
var active = {
|
||||
add:function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '增加用户'
|
||||
,content: '{:url("user/add")}'
|
||||
,area: ['60%', '80%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'user-submit-edit'
|
||||
,submit = layero.find('iframe').contents().find("#add-submit");
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit(add-submit)', function(data){
|
||||
var data = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("user/add")}',
|
||||
data:data,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('user-lists'); //数据刷新
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
$('.layui-btn.layuiadmin-btn-user').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src,600);
|
||||
});
|
||||
});
|
||||
layui.define(['table', 'form'], function(exports){
|
||||
var $ = layui.$
|
||||
,table = layui.table
|
||||
,form = layui.form;
|
||||
|
||||
//管理员管理
|
||||
table.render({
|
||||
id:'user-lists'
|
||||
,elem: '#user-lists'
|
||||
,url: '{:url("Custom/list")}' //模拟接口
|
||||
,cols: [[
|
||||
{type: 'checkbox'}
|
||||
,{field: 'contact', title: '客户的基础信息',align: 'center', toolbar: '#staff-info' }
|
||||
,{field: 'qudao', title: '渠道来源',toolbar:'#qudao'}
|
||||
,{field: 'address', title: '房屋信息及地址',toolbar: '#adder', width: 350,}
|
||||
,{field: 'name', title: '跟进人员'}
|
||||
,{field: 'create_time', title: '备注信息',toolbar: '#reak',width:240}
|
||||
,{field: 'custom', title: '最近跟进记录'}
|
||||
,{field: 'create_timess', title: '最近跟进时间',}
|
||||
,{fixed: 'right', title: '操作', width: 100,toolbar: '#user-operation'}
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count, //解析数据长度
|
||||
"data": res.data.lists, //解析数据列表
|
||||
};
|
||||
}
|
||||
, done: function fix() {
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$(".layui-table-fixed").each(function () {
|
||||
$($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
});
|
||||
$(".layui-table-header tr").each(function (index, val) {
|
||||
$(".layui-table-fixed").each(function () {
|
||||
$($(this).find(".layui-table-header thead tr")[index]).height($(val).height());
|
||||
});
|
||||
});
|
||||
window.onresize = function () {
|
||||
fix()
|
||||
}
|
||||
}
|
||||
});
|
||||
var moreShow = 0;
|
||||
//监听工具条
|
||||
table.on('tool(user-lists)', function(obj){
|
||||
if(obj.event === 'custom'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '写入跟进的信息'
|
||||
,content: '{:url("custom/custom")}?id='+id
|
||||
,area: ['60%','90%']
|
||||
,btn: ['返回']
|
||||
})
|
||||
|
||||
}
|
||||
if(obj.event === 'info'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '会员资料'
|
||||
,content: '{:url("user/oneinfo")}?id='+id
|
||||
,area: ['90%','90%']
|
||||
,btn: ['返回']
|
||||
})
|
||||
|
||||
}
|
||||
//用户的备注信息
|
||||
if(obj.event === 'user_remark') {
|
||||
var id = obj.data.id;
|
||||
$.ajax({
|
||||
url: '{:url("custom/user_remarks")}'
|
||||
, data: {'id': id}
|
||||
, type: 'get'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layer.prompt({title: '备注信息', formType: 2, value: res.data.user_remarks}, function(value, index){
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: '{:url("custom/user_remarks")}'
|
||||
, data: {'id': id, "user_remarks": value }
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
table.reload('user-lists');
|
||||
layer.close(index); //关闭弹层
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//管理员备注
|
||||
if(obj.event === 'admin_remarks') {
|
||||
var id = obj.data.id;
|
||||
$.ajax({
|
||||
url: '{:url("custom/admin_remarks")}'
|
||||
, data: {'id': id}
|
||||
, type: 'get'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layer.prompt({title: '备注信息', formType: 2, value: res.data.admin_remarks}, function(value, index){
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: '{:url("custom/admin_remarks")}'
|
||||
, data: {'id': id, "admin_remarks": value }
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
table.reload('user-lists');
|
||||
layer.close(index); //关闭弹层
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//管理员备注
|
||||
if(obj.event === 'staff_remarks') {
|
||||
var id = obj.data.id;
|
||||
$.ajax({
|
||||
url: '{:url("custom/staff_remarks")}'
|
||||
, data: {'id': id}
|
||||
, type: 'get'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layer.prompt({title: '备注信息', formType: 2, value: res.data.staff_remarks}, function(value, index){
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: '{:url("custom/staff_remarks")}'
|
||||
, data: {'id': id, "staff_remarks": value }
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
table.reload('user-lists');
|
||||
layer.close(index); //关闭弹层
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(obj.event === 'dispatch'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '修改派单人员'
|
||||
,content: '{:url("Custom/dispatch")}?id='+id
|
||||
,area: ['50%', '50%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submit = layero.find('iframe').contents().find('#adjust_level-submit');
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit(adjust_level-submit)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("Custom/dispatch")}?id='+id,
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('user-lists'); //数据刷新
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
232
application/admin/view/custom/staff_channel.html
Normal file
232
application/admin/view/custom/staff_channel.html
Normal file
@@ -0,0 +1,232 @@
|
||||
{layout name="layout1" /}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-btn-container" style="display: inline-block;">
|
||||
<div class="layui-btn-group">
|
||||
<button class="layui-btn {$view_theme_color}" id="add">
|
||||
增加客户渠道
|
||||
</button>
|
||||
<button class="layui-btn {$view_theme_color}" id="expand-all">全部展开
|
||||
</button>
|
||||
<button class="layui-btn {$view_theme_color}" id="fold-all">全部折叠
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<table id="menu-lists" class="layui-table" lay-filter="menu-lists"></table>
|
||||
<script type="text/html" id="icon">
|
||||
<i class="layui-icon {{d.icon}}"></i>
|
||||
</script>
|
||||
<script type="text/html" id="operation">
|
||||
|
||||
<a class="edit layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i
|
||||
class="layui-icon layui-icon-edit"></i>修改
|
||||
</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i
|
||||
class="layui-icon layui-icon-delete"></i>删除
|
||||
</a>
|
||||
</script>
|
||||
|
||||
<!-- 表格状态列 -->
|
||||
<script type="text/html" id="disable">
|
||||
{{# if(d.system == 0 && d.type == 1){ }}
|
||||
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
||||
lay-text="菜单显示|菜单隐藏" {{# if(d.disable==0){ }} checked {{# } }}/>
|
||||
{{# } }}
|
||||
{{# if(d.system == 1 && d.type == 1){ }}
|
||||
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
||||
lay-text="权限显示|权限隐藏" disabled checked />
|
||||
{{# } }}
|
||||
{{# if(d.system == 0 && d.type == 2){ }}
|
||||
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
||||
lay-text="权限启用|权限禁用" {{# if(d.disable==0){ }} checked {{# } }}/>
|
||||
{{# } }}
|
||||
{{# if(d.system == 1 && d.type == 2){ }}
|
||||
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
||||
lay-text="权限启用|权限禁用" disabled checked />
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
<div class="page-loading">
|
||||
<div class="ball-loader sm">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/' //静态资源所在路径
|
||||
}).extend({
|
||||
treeTable: 'treetable-lay/treeTable'
|
||||
,like: 'layui-admin/dist/layuiadmin/modules/like',
|
||||
}).use(['form', 'tree', 'treeTable','like'], function () {
|
||||
var $ = layui.$
|
||||
,like = layui.like
|
||||
,treeTable = layui.treeTable
|
||||
,form = layui.form;
|
||||
|
||||
var data = {$lists|raw}
|
||||
// 渲染表格
|
||||
var insTb = treeTable.render({
|
||||
elem: '#menu-lists',
|
||||
data: data,
|
||||
tree: {
|
||||
iconIndex:0,
|
||||
childName:'sub',
|
||||
treeColIndex:3,
|
||||
getIcon: function (d) { // 自定义图标
|
||||
return '<i class="ew-tree-icon layui-icon layui-icon-spread-left "></i>';
|
||||
}
|
||||
|
||||
},
|
||||
cols: [
|
||||
{field: 'name', title: '渠道名称',width: 280},
|
||||
{field: 'sort', title: '排序', width: 80,event: 'tips',edit:'number'},
|
||||
{field: 'createtime', title: '增加时间',width: 180},
|
||||
{field: 'updatetime', title: '修改时间',width: 180},
|
||||
{align: 'center', toolbar: '#operation', title: '操作', width: 200,},
|
||||
|
||||
],
|
||||
style: 'margin-top:0;'
|
||||
});
|
||||
|
||||
|
||||
treeTable.on('tool(menu-lists)', function(obj){
|
||||
var menu_id = obj.data.id;
|
||||
|
||||
if(obj.event === 'del'){
|
||||
layer.confirm('确定删除客户来源渠道吗', function(index){
|
||||
like.ajax({
|
||||
url:'{:url("Custom/staff_del")}',
|
||||
data: {id:menu_id},
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1) {
|
||||
layer.close(index);
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
},function(){
|
||||
window.location.href = window.location.href;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}else if(obj.event === 'edit'){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑客户来源渠道'
|
||||
,content: '{:url("Custom/staff_edit")}?id='+menu_id
|
||||
,area: ['30%', '50%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submit = layero.find('iframe').contents().find('#menu-submit');
|
||||
iframeWindow.layui.form.on('submit(menu-submit)', function(data){
|
||||
var field = data.field;
|
||||
like.ajax({
|
||||
url:'{:url("Custom/staff_edit")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1) {
|
||||
layer.close(index); //关闭弹层
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
},function(){
|
||||
window.location.href = window.location.href;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
form.on('switch(switch-disable)',function (obj) {
|
||||
var menu_id = obj.elem.attributes['data-id'].nodeValue;
|
||||
var disable = 1;
|
||||
if(obj.elem.checked){
|
||||
disable = 0;
|
||||
}
|
||||
var data ={disable:disable,id:menu_id}
|
||||
like.ajax({
|
||||
url:'{:url("auth/status")}',
|
||||
data:data,
|
||||
type:"post",
|
||||
});
|
||||
})
|
||||
$('#add').click(function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '增加客户渠道来源'
|
||||
,content: '{:url("Custom/channel_add")}'
|
||||
,area: ['30%', '50%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submit = layero.find('iframe').contents().find('#menu-submit');
|
||||
iframeWindow.layui.form.on('submit(menu-submit)', function(data){
|
||||
var field = data.field;
|
||||
like.ajax({
|
||||
url:'{:url("Custom/channel_add")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1) {
|
||||
layer.close(index); //关闭弹层
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
},function(){
|
||||
window.location.href = window.location.href;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 全部展开
|
||||
$('#expand-all').click(function () {
|
||||
insTb.expandAll();
|
||||
});
|
||||
|
||||
// 全部折叠
|
||||
$('#fold-all').click(function () {
|
||||
insTb.foldAll();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
80
application/admin/view/custom/staff_edit.html
Normal file
80
application/admin/view/custom/staff_edit.html
Normal file
@@ -0,0 +1,80 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-item .layui-input-inline {
|
||||
width: 270px;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-form" lay-filter="layuiadmin-form-admin" id="layuiadmin-form-admin" style="padding: 20px 30px 0 0;">
|
||||
<input type="hidden" value="{$info.id}" name="id">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">父类菜单</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="pid" class="layui-select">
|
||||
<option value="0">顶级分类</option>
|
||||
{volist name='menu_lists' id='vo'}
|
||||
<option value="{$vo.id}" {eq name="info['pid']" value="$vo.id"} selected {/eq} >{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" placeholder="请输入菜单名称" autocomplete="off" class="layui-input" value="{$info.name}" lay-verify="required" placeholder="请输入菜单名称" lay-vertype="tips">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="sort" autocomplete="off" class="layui-input" lay-verify="required" placeholder="请输入排序,数字越大越靠前" lay-vertype="tips" value="{$info.sort}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="menu-submit" id="menu-submit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/' //静态资源所在路径
|
||||
}).extend({
|
||||
iconPicker: 'iconpicker/module/iconPicker/iconPicker' //主入口模块
|
||||
}).use(['form','iconPicker'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form ;
|
||||
var iconPicker = layui.iconPicker;
|
||||
|
||||
iconPicker.render({
|
||||
// 选择器,推荐使用input
|
||||
elem: '#iconPicker',
|
||||
// 数据类型:fontClass/unicode,推荐使用fontClass
|
||||
type: 'fontClass',
|
||||
// 是否开启搜索:true/false,默认true
|
||||
search: true,
|
||||
// 是否开启分页:true/false,默认true
|
||||
page: true,
|
||||
// 每页显示数量,默认12
|
||||
limit: 50,
|
||||
// 每个图标格子的宽度:'43px'或'20%'
|
||||
cellWidth: '43px',
|
||||
// 点击回调
|
||||
click: function (data) {
|
||||
$('input[name="icon"]').val(data.icon);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
form.on('radio(type)', function (data) {
|
||||
if (data.value == 1) {
|
||||
$("#pid").prepend("<option value='0'>顶级</option>");
|
||||
} else {
|
||||
$("#pid option[value='0']").remove();
|
||||
}
|
||||
form.render('select');
|
||||
});
|
||||
})
|
||||
</script>
|
||||
651
application/admin/view/custom/usercustomlist.html
Normal file
651
application/admin/view/custom/usercustomlist.html
Normal file
@@ -0,0 +1,651 @@
|
||||
{layout name="layout1" /}
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<p>*客户档案列表,对客户房屋地址进行编辑,房屋面积,联系地址和资料查看等操作。</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">客户姓名:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" id="name" placeholder="请输入客户姓名" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">用户电话:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="phone" id="phone" placeholder="请输入用户电话" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">宠物:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="pet" name="pet" style="height:80px;width: 80px" >
|
||||
<option value="" selected>选择是否有宠物</option>
|
||||
<option value="1">有宠物</option>
|
||||
<option value="0">无宠物</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">用户地区:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="area" name="area" style="height:80px;width: 80px" >
|
||||
<option value="" selected>全部</option>
|
||||
<option value="520102">南明区</option>
|
||||
<option value="520103">云岩区</option>
|
||||
<option value="520111">花溪区</option>
|
||||
<option value="520112">乌当区</option>
|
||||
<option value="520113">白云区</option>
|
||||
<option value="520115">观山湖区</option>
|
||||
<option value="520122">息烽县</option>
|
||||
<option value="520123">修文县</option>
|
||||
<option value="520181">清镇市</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">客户标签:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="label_id" name="label_id" style="height:80px;width: 80px" >
|
||||
<option value="" selected>请选择客户标签</option>
|
||||
{foreach $label_id as $item }
|
||||
<option value="{$item.id}">{$item.name}</option>
|
||||
{/foreach}
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">超厚玻璃:</label>
|
||||
<div class="layui-input-inline">
|
||||
<select id="hbl" name="hbl" style="height:80px;width: 80px" >
|
||||
<option value="" selected>用户是否有超厚玻璃</option>
|
||||
<option value="0">无超厚</option>
|
||||
<option value="1">有超厚</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">房屋地址:</label>
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" id="id" name="id" placeholder="请输入用户的id" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">增加时间:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="start_time" name="start_time" autocomplete="off">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="margin-right: 5px;width: 10px;">
|
||||
<label class="layui-form-mid">-</label>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" id="end_time" name="end_time" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" lay-submit lay-filter="user-search">查询</button>
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="user-clear-search">清空查询</button>
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="export-file">导出</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<div style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" data-type="add">增加客户信息</button>
|
||||
</div>
|
||||
<table id="user-lists" lay-filter="user-lists"></table>
|
||||
<script type="text/html" id="staff-info">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<p>会员ID:{{d.id}}</p>
|
||||
<p style="text-overflow:ellipsis;overflow: hidden">客户姓名:{{d.contact}}</p>
|
||||
<p>客户电话:{{d.telephone}}</p>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="adder">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<p>房屋地址:{{d.address}}</p>
|
||||
<p style="text-overflow:ellipsis;overflow: hidden">房屋面积:{{d.areas}}平方</p>
|
||||
<p>是否有宠物:
|
||||
{{# if(d.pet==1){}}
|
||||
有宠物
|
||||
{{# }else{ }}
|
||||
无宠物
|
||||
{{# } }}
|
||||
</p>
|
||||
<p>是否有厚玻璃:
|
||||
{{# if(d.hbl==1){}}
|
||||
有超厚玻璃
|
||||
{{# }else{ }}
|
||||
无超厚玻璃
|
||||
{{# } }}
|
||||
</p>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="reak">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<a lay-event="user_remark" style="display: inline-block;">用户备注:
|
||||
{{# if(d.user_remarks){}}
|
||||
{{d.user_remarks}}
|
||||
{{# }else{ }}
|
||||
-
|
||||
{{# } }}
|
||||
</a><br>
|
||||
<a lay-event="admin_remarks" style="display: inline-block;">管理员备注:
|
||||
{{# if(d.admin_remarks){}}
|
||||
{{d.admin_remarks}}
|
||||
{{# }else{ }}
|
||||
-
|
||||
{{# } }}
|
||||
</a><br>
|
||||
<a lay-event="staff_remarks" style="display: inline-block;">保洁师叮嘱:
|
||||
{{# if(d.staff_remarks){}}
|
||||
{{d.staff_remarks}}
|
||||
{{# }else{ }}
|
||||
-
|
||||
{{# } }}
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="qudao">
|
||||
<div class="layui-input-inlines" style="text-align: left;">
|
||||
<p>渠道:{{d.qudao}}</p>
|
||||
|
||||
<a lay-event="staff_remarks" style="display: inline-block;">添加企微:
|
||||
{{# if(d.wx==1){}}
|
||||
添加
|
||||
{{# }else{ }}
|
||||
未添加
|
||||
{{# } }}
|
||||
</a>
|
||||
</div>
|
||||
<div style="display: inline-block; color:#ee0000">客户标签: {{d.user_label}}</div>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="user-operation">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="info">查看客户</a><p style="margin-bottom: 8px;"></p>
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="edit">编辑档案</a><p style="margin-bottom: 8px;"></p>
|
||||
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="custom">跟进记录</a><p style="margin-bottom: 8px;"></p>
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="dispatch">转移客户</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||||
}).extend({
|
||||
index: 'lib/index' //主入口模块
|
||||
}).use(['index','table','like','laydate'], function(){
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,table = layui.table
|
||||
,like = layui.like
|
||||
, laydate = layui.laydate;
|
||||
|
||||
//监听搜索
|
||||
form.on('submit(user-search)', function(data){
|
||||
var field = data.field;
|
||||
//执行重载
|
||||
table.reload('user-lists', {
|
||||
where: field,
|
||||
page: {
|
||||
curr: 1 //重新从第 1 页开始
|
||||
}
|
||||
});
|
||||
});
|
||||
//日期时间范围
|
||||
laydate.render({
|
||||
elem: '#start_time'
|
||||
,type: 'datetime'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
//日期时间范围
|
||||
laydate.render({
|
||||
elem: '#end_time'
|
||||
,type: 'datetime'
|
||||
,trigger: 'click'
|
||||
});
|
||||
|
||||
|
||||
//清空查询
|
||||
form.on('submit(user-clear-search)', function(){
|
||||
$('#keyword_type').val('sn');
|
||||
$('#keyword').val(''); //清空输入框
|
||||
$('#level').val(''); //清空输入框
|
||||
$('#group_id').val(''); //清空输入框
|
||||
$('#start_time').val(''); //清空输入框
|
||||
$('#end_time').val(''); //清空输入框
|
||||
form.render('select');
|
||||
//刷新列表
|
||||
table.reload('user-lists', {
|
||||
where: [],
|
||||
page: {
|
||||
curr: 1 //重新从第 1 页开始
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 导出
|
||||
form.on('submit(export-file)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url: '{:url("user/exportFile")}',
|
||||
type: 'get',
|
||||
data: field,
|
||||
dataType: 'json',
|
||||
error: function() {
|
||||
layer.msg('导出超时,请稍后再试!');
|
||||
},
|
||||
success: function(res) {
|
||||
table.exportFile(res.data.exportTitle,res.data.exportData, res.data.exportExt, res.data.exportName);
|
||||
},
|
||||
timeout: 15000
|
||||
});
|
||||
layer.msg('导出中请耐心等待~');
|
||||
});
|
||||
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
add:function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '增加用户'
|
||||
,content: '{:url("user/add")}'
|
||||
,area: ['60%', '80%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'user-submit-edit'
|
||||
,submit = layero.find('iframe').contents().find("#add-submit");
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit(add-submit)', function(data){
|
||||
var data = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("user/add")}',
|
||||
data:data,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('user-lists'); //数据刷新
|
||||
}
|
||||
else if(res.code == 0)
|
||||
{
|
||||
layui.layer.msg('客户手机号码已存在');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
$('.layui-btn.layuiadmin-btn-user').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src,600);
|
||||
});
|
||||
});
|
||||
layui.define(['table', 'form'], function(exports){
|
||||
var $ = layui.$
|
||||
,table = layui.table
|
||||
,form = layui.form;
|
||||
|
||||
//管理员管理
|
||||
table.render({
|
||||
id:'user-lists'
|
||||
,elem: '#user-lists'
|
||||
,url: '{:url("Custom/usercustomlist")}' //模拟接口
|
||||
,cols: [[
|
||||
{type: 'checkbox'}
|
||||
,{field: 'contact', title: '客户的基础信息',align: 'center', toolbar: '#staff-info' }
|
||||
,{field: 'qudao', title: '渠道来源',toolbar:'#qudao'}
|
||||
,{field: 'address', title: '房屋信息及地址',toolbar: '#adder', width: 350,}
|
||||
,{field: 'name', title: '跟进人员'}
|
||||
,{field: 'create_time', title: '备注信息',toolbar: '#reak',width:240}
|
||||
,{field: 'custom', title: '最近跟进记录'}
|
||||
,{field: 'create_timess', title: '最近跟进时间',}
|
||||
,{fixed: 'right', title: '操作', width: 100,toolbar: '#user-operation'}
|
||||
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count, //解析数据长度
|
||||
"data": res.data.lists, //解析数据列表
|
||||
};
|
||||
}
|
||||
, done: function fix() {
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$(".layui-table-fixed").each(function () {
|
||||
$($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
});
|
||||
$(".layui-table-header tr").each(function (index, val) {
|
||||
$(".layui-table-fixed").each(function () {
|
||||
$($(this).find(".layui-table-header thead tr")[index]).height($(val).height());
|
||||
});
|
||||
});
|
||||
window.onresize = function () {
|
||||
fix()
|
||||
}
|
||||
}
|
||||
});
|
||||
var moreShow = 0;
|
||||
//监听工具条
|
||||
table.on('tool(user-lists)', function(obj){
|
||||
if(obj.event === 'custom'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '写入跟进的信息'
|
||||
,content: '{:url("custom/custom")}?id='+id
|
||||
,area: ['60%','90%']
|
||||
,btn: ['返回']
|
||||
})
|
||||
|
||||
}
|
||||
if(obj.event === 'info'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '客户档案'
|
||||
,content: '{:url("user/oneinfo")}?id='+id
|
||||
,area: ['85%','90%']
|
||||
,btn: ['返回']
|
||||
})
|
||||
}
|
||||
if(obj.event === 'edit'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '编辑客户档案'
|
||||
,content: '{:url("custom/edit")}?id='+id
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submit = layero.find('iframe').contents().find('#adjust_user-submit');
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit(adjust_user-submit)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("custom/edit")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('user-lists'); //数据刷新
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
//用户的备注信息
|
||||
if(obj.event === 'user_remark') {
|
||||
var id = obj.data.id;
|
||||
$.ajax({
|
||||
url: '{:url("custom/user_remarks")}'
|
||||
, data: {'id': id}
|
||||
, type: 'get'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layer.prompt({title: '备注信息', formType: 2, value: res.data.user_remarks}, function(value, index){
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: '{:url("custom/user_remarks")}'
|
||||
, data: {'id': id, "user_remarks": value }
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
table.reload('user-lists');
|
||||
layer.close(index); //关闭弹层
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//管理员备注
|
||||
if(obj.event === 'admin_remarks') {
|
||||
var id = obj.data.id;
|
||||
$.ajax({
|
||||
url: '{:url("custom/admin_remarks")}'
|
||||
, data: {'id': id}
|
||||
, type: 'get'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layer.prompt({title: '备注信息', formType: 2, value: res.data.admin_remarks}, function(value, index){
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: '{:url("custom/admin_remarks")}'
|
||||
, data: {'id': id, "admin_remarks": value }
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
table.reload('user-lists');
|
||||
layer.close(index); //关闭弹层
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//管理员备注
|
||||
if(obj.event === 'staff_remarks') {
|
||||
var id = obj.data.id;
|
||||
$.ajax({
|
||||
url: '{:url("custom/staff_remarks")}'
|
||||
, data: {'id': id}
|
||||
, type: 'get'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layer.prompt({title: '备注信息', formType: 2, value: res.data.staff_remarks}, function(value, index){
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: '{:url("custom/staff_remarks")}'
|
||||
, data: {'id': id, "staff_remarks": value }
|
||||
, type: 'post'
|
||||
, success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
table.reload('user-lists');
|
||||
layer.close(index); //关闭弹层
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(obj.event === 'dispatch'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '修改派单人员'
|
||||
,content: '{:url("Custom/dispatch")}?id='+id
|
||||
,area: ['50%', '50%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submit = layero.find('iframe').contents().find('#adjust_level-submit');
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit(adjust_level-submit)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("Custom/dispatch")}?id='+id,
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('user-lists'); //数据刷新
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(obj.event === 'adjust_user'){
|
||||
var id = obj.data.id;
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '财务跳转'
|
||||
,content: '{:url("user/adjustAccount")}?id='+id
|
||||
,area: ['90%', '90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submit = layero.find('iframe').contents().find('#adjust_user-submit');
|
||||
//监听提交
|
||||
iframeWindow.layui.form.on('submit(adjust_user-submit)', function(data){
|
||||
var field = data.field;
|
||||
$.ajax({
|
||||
url:'{:url("user/adjustAccount")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res)
|
||||
{
|
||||
if(res.code == 1)
|
||||
{
|
||||
layui.layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 1
|
||||
, time: 1000
|
||||
});
|
||||
layer.close(index); //关闭弹层
|
||||
table.reload('user-lists'); //数据刷新
|
||||
}else{
|
||||
layer.msg(res.msg, {
|
||||
offset: '15px'
|
||||
, icon: 2
|
||||
, time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user