添加网站文件

This commit is contained in:
2025-12-22 13:59:40 +08:00
commit 117aaf83d1
19468 changed files with 2111999 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="">
<div class="layui-tab">
<div class="layui-form-item" style="margin: 10px">
<label class="layui-form-label">跟进内容:</label>
<div class="layui-input-block">
<textarea type="text" name="remark" autocomplete="off" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-recharge-submit" id="add-recharge-submit" value="确认">
</div>
</div>
</div>
<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
});
</script>

View File

@@ -0,0 +1,112 @@
{layout name="layout1" /}
<style>
.layui-table-cell {
font-size: 14px;
padding: 0 5px;
height: auto;
overflow: visible;
text-overflow: inherit;
white-space: normal;
word-break: break-all;
}
.goods-content > div:not(:last-of-type) {
border-bottom: 1px solid #DCDCDC;
}
.goods-data::after {
display: block;
content: '';
clear: both;
}
.goods_name_hide {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
</style>
<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-tab layui-tab-card" lay-filter="tab-all">
<div class="layui-card">
<div class="layui-card-body">
<table id="order-lists" lay-filter="order-lists"></table>
</div>
</div>
</div>
</div>
</div>
<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
, element = layui.element
, laydate = layui.laydate;
//监听搜索
form.on('submit(order-search)', function (data) {
var field = data.field;
//执行重载
table.reload('order-lists', {
where: field
});
});
//获取列表
getList();
function getList() {
table.render({
limit:10,
elem: '#order-lists'
,url: '{:url("Record/info")}?phone=' + '{$phone}'
, cols: [[
{field: 'id', title: '操作ID', align: 'center'}
, {field: 'coust_name', title: '客服人员', align: 'center'}
, {field: 'show', title: '更新内容', align: 'center'}
, {field: 'add_time',title: '跟进时间', align: 'center'}
]]
, 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(res, curr, count){
// 解决操作栏因为内容过多换行问题
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
});
}
});
</script>

View File

@@ -0,0 +1,316 @@
{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-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>
</div>
</div>
</div>
<div class="layui-card-body">
<table id="user-lists" lay-filter="user-lists"></table>
<script type="text/html" id="recharge-operation">
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">客服跟进</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="info">查看跟进</a>
</script>
<script type="text/html" id="user-info">
<img src="{{d.recommended_images}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline" style="text-align:left;width: 240px">
<p>会员编号{{d.recommended_sn}}</p>
<p style="width: 180px;text-overflow:ellipsis;overflow: hidden">昵称{{d.recommended_name}}</p>
<p>电话号码{{d.recommended_mobile}}</p>
</div>
</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 页开始
}
});
});
//事件
var active = {
send_coupon:function() { //发放优惠券
var check_status = table.checkStatus('user-lists')
,user_list = check_status.data; //得到选中的数据
//是否已选数据
if(0 === user_list.length ){
return layer.msg('请选择用户');
}
//获取所选id
ids = [];
for (var i in user_list){
ids.push(user_list[i]['id']);
}
layer.open({
type: 2
,title: '发放优惠券'
,content: '{:url("coupon/sendCouponList")}'
,area: ['90%','90%']
,btn: ['确定发放', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'send-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var coupon_list = window["layui-layer-iframe" + index].callbackdata();
if(coupon_list.length === 0){
return layer.msg('请选择优惠券');
}
coupon_ids = [];
for (var i in coupon_list){
coupon_ids.push(coupon_list[i]['id']);
}
like.ajax({
url:'{:url("coupon/sendCoupon")}',
data:{coupon_ids:coupon_ids,user_ids:ids},
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('goods_brand-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("Record/lists")}' //模拟接口
,cols: [[
{type: 'checkbox'}
,{field: 'id', title: '访问ID',width:100,}
,{field: 'uid',width:160, title: '用户ID'}
,{field: 'user_name', title: '访问会员呢称号',}
,{field: 'user_mobile', title: '电话号码'}
,{field: 'goods_name', title: '访问套餐',}
,{field: 'order', title: '是否购买'}
,{field: 'order_pay', title: '订单是否支付'}
,{field: 'coust', title: '客户归属'}
,{field: 'coust_name', title: '归属人姓名'}
,{field: 'admin', title: '跟进信息'}
,{field: 'time', title: '停留时间/秒',}
,{field: 'avatar', title: '推荐人信息',width: 370,align: 'center', toolbar: '#user-info'}
,{field: 'add_time', title: '访问时间',}
,{fixed: 'right', title: '操作', width: 180,toolbar: '#recharge-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){
var id = obj.data.id;
if(obj.event === 'edit'){
var id = obj.data.id;
layer.open({
type: 2
,title: '增加客服跟进'
,content: '{:url("Record/add")}?id='+id
,area: ['40%','30%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'add-recharge-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
$.ajax({
url:'{:url("Record/add")}?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('recharge-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
})
}
//查看预排订单
if(obj.event === 'info'){
var order_sn = obj.data.order_sn;
layer.open({
type: 2
,title: '线索的跟进记录'
,content: '{:url("Record/info")}?id='+id
,area: ['65%', '65%']
,yes: function(index, layero){
}
})
}
});
});
</script>