添加网站文件

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,545 @@
{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="number" name="phone" maxlength='11' 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="address" id="demo1" 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="未知" checked>
</div>
<label class="layui-form-label">企微:</label>
<div class="layui-col-sm1" style="width: 40%;">
<input type="radio" name="wx" value="0" title="无" checked>
<input type="radio" name="wx" value="1" 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="未知" checked>
</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" style="margin-top: 10px;">客户标签:</label>
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
<select name="label_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="areas" 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-block">
<input type="text" name="store_longitude" class="layui-input" placeholder="请输入经度" value="" id="lon" lay-filter="lon" >
<tip>点击地图点选</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label ">纬度</label>
<div class="layui-input-block">
<input type="text" name="store_latitude" class="layui-input" placeholder="请输入经度" value="" id="lat" lay-filter="lat" >
<!-- <tip>点击地图点选</tip> -->
</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="add-submit" id="add-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(40.820004,111.718132), // 地图的中心地理坐标。
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 brandsd = {$label_id | raw};
setBrands();
function setBrands(default_id) {
var label_id_html = '<option value="">请选择客户的标签</option>';
for (var i in brandsd) {
label_id_html += '<option value="' + brandsd[i]['id'] + '">' + brandsd[i]['name'] + '</option>';
}
$('select[name="label_id"]').html(label_id_html);
$('select[name="label_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="lng"]').val(goods_info['lng']);
$('input[name="lat"]').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>

View File

@@ -0,0 +1,130 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 90px;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<input type="hidden" value="{$info.id}" name="id">
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-tab layui-tab-card">
<ul class="layui-tab-title">
<li class="layui-this">余额调整</li>
<li>积分调整</li>
<li>成长值调整</li>
</ul>
<div class="layui-tab-content" >
<div class="layui-tab-item layui-show " >
<div class="layui-form-item">
<label class="layui-form-label">当前余额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.user_money}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">余额增减:</label>
<div class="layui-input-block">
<input type="radio" name="money_handle" value="1" title="增加余额">
<input type="radio" name="money_handle" value="0" title="扣减余额">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整余额:</label>
<div class="layui-input-inline">
<input type="text" name="money" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的余额金额</label>
</div>
<label class="layui-form-mid"></label>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="money_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<label class="layui-form-label">当前积分:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.user_integral}</label>
<input type="hidden" value="{$info.user_integral}" name="now_integral">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">积分增减:</label>
<div class="layui-input-block">
<input type="radio" name="integral_handle" value="1" title="增加积分">
<input type="radio" name="integral_handle" value="0" title="扣减积分">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整积分:</label>
<div class="layui-input-inline">
<input type="text" name="integral" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的积分数量</label>
</div>
<label class="layui-form-mid"></label>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="integral_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<label class="layui-form-label">当前成长值:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.user_growth}</label>
<input type="hidden" value="{$info.user_growth}" name="now_growth">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">成长值增减:</label>
<div class="layui-input-block">
<input type="radio" name="growth_handle" value="1" title="增加成长值">
<input type="radio" name="growth_handle" value="0" title="扣减成长值">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整成长值:</label>
<div class="layui-input-inline">
<input type="text" name="growth" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的成长值</label>
</div>
<!-- <label class="layui-form-mid">分</label>-->
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="growth_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
</div>
</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>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form'], function(){
var $ = layui.$
,form = layui.form ;
})
</script>

View File

@@ -0,0 +1,49 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" 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">
<label class="layui-form-mid">{$info.level_name}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整等级:</label>
<div class="layui-inline">
<div class="layui-input-inline">
<select id="level" name="level" style="height:80px;width: 80px" >
<option value=" ">请选择会员等级</option>
{foreach $user_level as $item}
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="remark" autocomplete="off" class="layui-textarea"></textarea>
<label class="layui-form-mid layui-word-aux">不超过100字</label>
</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>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','like_area'], function(){
var $ = layui.$
,like_area = layui.like_area
,form = layui.form ;
})
</script>

View File

@@ -0,0 +1,154 @@
{layout name="layout2" /}
<style>
.img-content{
height:80px;
line-height:80px
}
.img-container {
float: left;
opacity: 1;
position: relative;
}
.img-src {
width: 80px;
height: 80px;
padding: 4px;
}
.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" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<input type="hidden" name="id" value="{$info.id}">
<div class="layui-form-item">
<label class="layui-form-label">会员编号:</label>
<div class="layui-input-inline" style="margin-top:10px">
{$info.sn}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员昵称:</label>
<div class="layui-input-inline">
<input class="layui-input" value="{$info.nickname}" name="nickname" type="text" placeholder="请输入会员昵称" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员头像:</label>
<div class="layui-input-block">
<div class="img-content">
<input name="avatar" type="hidden" value="{$info.avatar}">
<div class="img-add" {if $info.avatar } style="display: none" {/if} ></div>
{if !empty($info.avatar)}
<div class="img-container">
<img class="img-src" src="{$info.avatar}">
<a class="img-del-x">x</a>
</div>
{/if}
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
<input class="layui-input" value="{$info.mobile}" name="mobile" type="text" placeholder="请输入手机号码" >
</div>
</div>
<!--登录密码-->
<div class="layui-form-item">
<label class="layui-form-label">登录密码:</label>
<div class="layui-input-inline">
<input class="layui-input" value="" name="password" type="password" autocomplete="off">
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class=" layui-form-mid layui-word-aux">设置会员登录商城的密码,留空表示不修改登录密码</div>
</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="未知" {if $info.sex == 0}checked{/if} >
<input type="radio" name="sex" value="1" title="男" {if $info.sex == 1}checked{/if} >
<input type="radio" name="sex" value="2" title="女" {if $info.sex == 2}checked{/if} >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">生日:</label>
<div class="layui-input-inline">
<input class="layui-input" value="{$info.birthday}" autocomplete="off" name="birthday" id="birthday" type="text" placeholder="请输入生日" >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-submit" id="edit-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','laydate','like'], function(){
var $ = layui.$
,form = layui.form
,laydate = layui.laydate
,like = layui.like;
laydate.render({
elem: '#birthday'
,format: 'yyyy-MM-dd'
,trigger: 'click'
});
like.imageUpload('.img-add', function (uris, element) {
if(uris.length>1){
layer.msg('最多最能选中1张图片');
return;
}
var html = '<div class="img-container">\n' +
'<img class="img-src" ' +
'src="' + uris[0] + '">' +
'<a class="img-del-x">x</a>' +
'</div>';
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
element.parent().append(html);
element.css('display','none');
}, true);
//删除图片
$(document).on('click', '.img-del-x', function () {
$(this).parent().siblings('input').val('');
$(this).parent().prev().css('display','block');
$(this).parent().remove();
});
//显示图片
$(document).on('click', '.img-src', function () {
var image = $(this).attr('src');
like.showImg(image, 600);
});
form.on('select(category)', function(data){
var level = $(data.elem).find("option:selected").attr("data-level");
$('.alliance_ratio').hide();
$('.autotrophy_ratio').hide();
if(level == 2){
$('.alliance_ratio').show();
$('.autotrophy_ratio').show();
}
});
})
</script>

View File

@@ -0,0 +1,312 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 120px;
}
.layui-card .layui-tab{
margin-left: 7px;
}
.layui-form-label{
margin-left: 20px;
width: 98px;
}
.layui-input-inline{
width:160px;
}
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_group" id="layuiadmin-form-user_group" style="padding: 20px 30px 0 0;">
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>基础信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员昵称:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.nickname}</label>
</div>
<label class="layui-form-label">会员编号:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sn}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员头像:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">
<img class="image-show" src="{$detail.avatar}" width="80px" height="80px">
</label>
</div>
<label class="layui-form-label">会员等级:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.group_name}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.mobile}</label>
</div>
<label class="layui-form-label">性别:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sex}</label>
</div>
</div>
<div class="layui-input-item">
<label class="layui-form-label">生日:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.birthday}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">注册时间:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.create_time}</label>
</div>
<label class="layui-form-label">最后登录:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.login_time}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>分销信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分销会员:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.distribution_tips}</label>
</div>
<label class="layui-form-label">邀请码:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.distribution_code}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">推荐人:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.superior_referrer}</label>
</div>
<label class="layui-form-label">推荐人编号:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.superior_referrer_sn}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>账户信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">余额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_money}</label>
</div>
<label class="layui-form-label">积分:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_integral}</label>
</div>
<label class="layui-form-label">成长值:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_growth}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费能力</legend>
</fieldset>
</div>
<div class="layui-form-item" >
<label class="layui-form-label" style="margin-left: 72px;">本月消费金额:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.month_amount}</label>
</div>
<label class="layui-form-label">本月订单笔数:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.month_num}</label>
</div>
<label class="layui-form-label">累积消费金额:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.total_order_amount}</label>
</div>
<label class="layui-form-label">累积订单笔数:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.total_num}</label>
</div>
<label class="layui-form-label">平均消费单价:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.avg_amount}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费明细</legend>
</fieldset>
</div>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<ul class="layui-tab-title">
<li class="layui-this">下单明细</li>
<li >积分明细</li>
<li >签到明细</li>
<li >余额明细</li>
<li >推广明细</li>
<li >收货地址</li>
</ul>
</div>
<script type="text/html" id="referrer">
<img src="{{d.avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline">
<label>编号{{d.sn}}</label>
<br/>
<label>手机号码{{d.mobile}}</label>
<br/>
<label>昵称{{d.nickname}}</label>
<br/>
<label>注册时间{{d.create_time}}</label>
</div>
</script>
<script type="text/html" id="account">
<div class="layui-input-inline">
<label>余额{{d.user_money}}</label>
<br/>
<label>积分{{d.user_integral}}</label>
</div>
</script>
<script type="text/html" id="address">
<div class="layui-input-inline">
<label>联系人{{d.consignee}}</label>
<br/>
<label>联系手机{{d.mobile}}</label>
<br/>
<label>用户档案{{d.address}}</label>
<br/>
</div>
</script>
<div class="layui-card-body">
<table id="lists" lay-filter="lists"></table>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="user_group-submit" id="user_group-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index','table','like','element'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,like = layui.like
,element = layui.element
,id = {$detail.id};
element.on('tab(tab-all)', function (data) {
var index = data.index;
getList(index);
})
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
getList(0)
function getList(index){
switch (index) {
case 0:
var cols = [
{field: 'order_sn', title: '订单编号',width: 180}
,{field: 'delivery_address', title: '房屋地址',width: 460,toolbar: '#address'}
,{field: 'total_num', title: '商品数量',align: 'center',width: 100}
,{field: 'total_amount', title: '订单总额',width: 120, templet: function(d){
return '¥'+ d.total_amount +'</span>'
}
}
,{field: 'discount_amount', title: '优惠金额',width: 120,templet: function(d){
return '¥'+ d.discount_amount +'</span>'
}
}
,{field: 'order_amount', title: '实付金额',width: 160,templet: function(d){
return '¥'+ d.order_amount +'</span>'
}
}
,{field: 'pay_time',title:'订单支付时间' ,width: 160}
];
break;
case 1:
var cols = [
{field: 'source_type', title: '来源用途',}
,{field: 'change_amount', title: '变动积分',}
,{field: 'left_amount', title: '剩余积分',}
,{field: 'remark', title: '备注',}
,{field: 'create_time', title: '变动时间',}
];
break;
case 2:
var cols = [
{field: 'source_type', title: '动作',}
,{field: 'change_amount', title: '获得积分',}
,{field: 'remark', title: '备注',}
,{field: 'create_time', title: '变动时间',}
];
break;
case 3:
var cols = [
{field: 'source_type', title: '来源用途',}
,{field: 'change_amount', title: '变动金额',}
,{field: 'left_amount', title: '剩余金额',}
,{field: 'remark', title: '备注',}
,{field: 'create_time', title: '变动时间',}
];
break;
case 4:
var cols = [
{field: 'referrer', title: '直推会员信息',toolbar: '#referrer'}
,{field: 'level_name', title: '会员等级',}
,{field: 'total_order_amount', title: '消费金额',}
,{field: 'account', title: '账户金额',toolbar: '#account'}
];
break;
case 5:
var cols = [
{field: 'contact', title: '联系人',}
,{field: 'telephone', title: '联系手机',}
,{field: 'address', title: '房屋地址',}
,{field: 'default', title: '增加时间',}
];
break;
}
table.render({
id:'lists'
,elem: '#lists'
,url: '{:url("user/getList")}?type='+index+'&user_id='+id //模拟接口
,cols: [cols]
,page:true
,text: {none: '暂无数据!'}
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
return {
"code":res.code,
"msg":res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
}
});
}
})
</script>

View File

@@ -0,0 +1,596 @@
{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" style="width: 200px;">
<select name="keyword_type" id="keyword_type">
<option value="id">会员ID</option>
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">会员手机号码</option>
</select>
</div>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" id="keyword" name="keyword" 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="level" name="level" style="height:80px;width: 80px" >
<option value="" selected>全部</option>
<option value="0">无等级</option>
{foreach $level_list as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">会员分组:</label>
<div class="layui-input-inline">
<select id="group_id" name="group_id" style="height:80px;width: 80px" >
<option value="">全部</option>
{foreach $group_list 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">
<input type="text" class="layui-input" name="total_amount_start" 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" name="total_amount_end" autocomplete="off">
</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">
<label class="layui-form-label">登入时间:</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="start_times" name="start_times" 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_times" name="end_times" 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="send_coupon">发放优惠券</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" data-type="set_group">设置分组</button>
</div>
<table id="user-lists" lay-filter="user-lists"></table>
<script type="text/html" id="user-info">
<img src="{{d.abs_avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline" style="text-align:left;width: 240px">
<p>会员编号{{d.sn}}</p>
<p style="width: 180px;text-overflow:ellipsis;overflow: hidden">昵称{{d.nickname}}</p>
<p>会员等级{{d.level_name}}</p>
</div>
</script>
<script type="text/html" id="referrer">
{{# if(d.first_leader){}}
<img src="{{d.referrer_avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline" style="text-align:left;width: 240px">
<p>编号{{d.referrer_sn}}</p>
<p>手机号码{{d.referrer_mobile}}</p>
<p style="width: 180px;text-overflow:ellipsis;overflow: hidden">昵称{{d.referrer_nickname}}</p>
<p>等级{{d.referrer_level_name}}</p>
</div>
{{# }else{ }}
-
{{# } }}
</script>
<script type="text/html" id="account">
<div class="layui-input-inline">
<label>余额{{d.user_money}}</label>
<br/>
<label>积分{{d.user_integral}}</label>
</div>
</script>
<script type="text/html" id="user-operation">
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="info">资料</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" id="adjust_user" lay-event="adjust_user">账户调整</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" id="staff" lay-event="staff">设置员工</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'
});
//日期时间范围
laydate.render({
elem: '#start_times'
,type: 'datetime'
,trigger: 'click'
});
//日期时间范围
laydate.render({
elem: '#end_times'
,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 = {
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');
}
});
}
,set_group:function() { //设置分组
var check_status = table.checkStatus('user-lists')
,user_list = check_status.data; //得到选中的数据
//是否已选数据
if( user_list.length === 0){
return layer.msg('请选择用户');
}
//获取所选id
ids = [];
for (var i in user_list){
ids.push(user_list[i]['id']);
}
layer.open({
type: 2
,title: '设置分组'
,content: '{:url("user/setGroup")}'
,area: ['60%', '60%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'user-submit-edit'
,submit = layero.find('iframe').contents().find("#set_group-submit");
//监听提交
iframeWindow.layui.form.on('submit(set_group-submit)', function(data){
var group_id = data.field.group_id;
$.ajax({
url:'{:url("user/setGroup")}',
data:{group_id:group_id,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('user-lists'); //数据刷新
} else if(res.code == 1){
layui.layer.msg(res.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("user/lists")}' //模拟接口
,cols: [[
{type: 'checkbox'}
,{field: 'id', width: 80, title: 'ID', }
,{field: 'avatar', title: '会员信息',width: 370,align: 'center', toolbar: '#user-info'}
,{field: 'group_name', title: '跟踪分配',width: 100,}
,{field: 'referrals', title: '推荐人信息',align: 'center',width: 300,toolbar: '#referrer'}
,{field: 'total_order_amount', title: '消费金额',width: 90}
,{field: 'money', title: '账户余额',width: 120,toolbar: '#account'}
,{field: 'login_time', title: '最后登录时间',width: 160}
,{fixed: 'right', title: '操作', width: 320,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 === 'edit'){
var id = obj.data.id;
layer.open({
type: 2
,title: '编辑会员'
,content: '{:url("user/edit")}?id='+id
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#edit-submit');
//监听提交
iframeWindow.layui.form.on('submit(edit-submit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("user/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 === 'staff'){
var id = obj.data.id;
$.post('{:url("user/staff")}?id='+id,function(res){
if(res.code==0){
layer.msg(res.msg, {icon: 1, time: 1000}, function(){
layer.msg(res.msg,{icon: 6, time: 1000});
layer.close(index); //关闭弹层
table.reload('user-lists'); //数据刷新
});
}else{
layer.msg(res.msg)
}
})
}
if(obj.event === 'info'){
var id = obj.data.id;
layer.open({
type: 2
,title: '会员资料'
,content: '{:url("user/info")}?id='+id
,area: ['90%','90%']
,btn: ['返回']
})
}
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');
}
})
}
if(obj.event === 'adjust_level'){
var id = obj.data.id;
layer.open({
type: 2
,title: '等级调整'
,content: '{:url("user/adjustLevel")}?id='+id
,area: ['90%', '90%']
,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("user/adjustLevel")}',
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>

View File

@@ -0,0 +1,519 @@
{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>
<label class="layui-form-label">企微:</label>
<div class="layui-col-sm1" style="width: 40%;">
<input type="radio" name="wx" value="0" title="无" >
<input type="radio" name="wx" value="1" 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" style="margin-top: 10px;">客户标签:</label>
<div class="layui-col-sm4" style="width: 80%; margin-top: 10px;">
<select name="label_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/gljs?v=1.exp&libraries=service&key=EVOBZ-VX7YU-QKJVR-BVESA-AVFT3-7JBWG"></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;
var geocoder = null
var lat_lng = null
var map = null
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 = [];
function addMarker(latlng){
markers.updateGeometries([
{
id: 'main',
position: latlng, // 将得到的坐标位置用点标记标注在地图上
},
]);
}
$("#tMap").removeClass('layui-hide');
layer.open({
type:1,
area:["800px","600px"],
title:"地图标识",
btn: ['取消','确定'],
skin: 'layui-ext-yourskin',
content:layui.jquery('#tMap'),
success:function(){
if(!map){
map = new TMap.Map('maplocation', {
zoom: 14,
center: new TMap.LatLng(39.986785, 116.301012),
});
markers = new TMap.MultiMarker({
map: map,
geometries: [],
});
map.on('click', function(event) {
lat_lng = event.latLng
addMarker(event.latLng);
});
geocoder = new TMap.service.Geocoder();
searchService = {
search:function(name){
geocoder.getLocation({ address:name })
.then((result) => {
console.log(result,999)
lat_lng = result.result.location
addMarker( result.result.location)
// markers.updateGeometries([
// {
// id: 'main',
// position: result.result.location, // 将得到的坐标位置用点标记标注在地图上
// },
// ]);
map.setCenter(result.result.location);
$('#lon').val(result.result.location.lng)
$('#lat').val(result.result.location.lat)
// 显示坐标数值
});
}
}
}
} ,
yes: function(index, layero){
//do something
layer.close(index); //如果设定了yes回调需进行手工关闭
},
btn2:function(index){
layer.close(index)
console.log(lat_lng,88)
if(lat_lng){
$('#lon').val(lat_lng.lng)
$('#lat').val(lat_lng.lat)
}
},
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.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 brandsd = {$label_id | raw};
setBrands();
function setBrands(default_id) {
var label_id_html = '<option value="">请选择客户的标签</option>';
for (var i in brandsd) {
label_id_html += '<option value="' + brandsd[i]['id'] + '">' + brandsd[i]['name'] + '</option>';
}
$('select[name="label_id"]').html(label_id_html);
$('select[name="label_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']); //渲染品牌
setBrands(goods_info['label_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);
$("input[name=wx][value="+goods_info['wx']+"]").prop("checked",true);
form.render();
{/notempty}
//------------------------编辑页面----------------------------------
});
</script>

View File

@@ -0,0 +1,229 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 120px;
}
.layui-card .layui-tab{
margin-left: 7px;
}
.layui-form-label{
margin-left: 20px;
width: 98px;
}
.layui-input-inline{
width:160px;
}
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_group" id="layuiadmin-form-user_group" style="padding: 20px 30px 0 0;">
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>基础信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">微信昵称:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.nickname}</label>
</div>
<label class="layui-form-label">客户姓名:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.contact}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员头像:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">
<img class="image-show" src="{$detail.abs_avatar}" width="80px" height="80px">
</label>
</div>
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.telephone}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">性别:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sex}</label>
</div>
<div class="layui-input-item">
<label class="layui-form-label">生日:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.birthday}</label>
</div>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费能力</legend>
</fieldset>
</div>
<div class="layui-form-item" >
<label class="layui-form-label" style="margin-left: 72px;">本月消费金额:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.month_amount}</label>
</div>
<label class="layui-form-label">本月订单笔数:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.month_num}</label>
</div>
<label class="layui-form-label">累积消费金额:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.total_order_amount}</label>
</div>
<label class="layui-form-label">累积订单笔数:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.total_num}</label>
</div>
<label class="layui-form-label">平均消费单价:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.avg_amount}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费明细</legend>
</fieldset>
</div>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<ul class="layui-tab-title">
<li class="layui-this">下单明细</li>
<li >投诉建议</li>
<li >跟进记录</li>
</ul>
</div>
<script type="text/html" id="referrer">
<img src="{{d.avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline">
<label>编号{{d.sn}}</label>
<br/>
<label>手机号码{{d.mobile}}</label>
<br/>
<label>昵称{{d.nickname}}</label>
<br/>
<label>注册时间{{d.create_time}}</label>
</div>
</script>
<script type="text/html" id="account">
<div class="layui-input-inline">
<label>余额{{d.user_money}}</label>
<br/>
<label>积分{{d.user_integral}}</label>
</div>
</script>
<script type="text/html" id="address">
<div class="layui-input-inline">
<label>联系人{{d.consignee}}</label>
<br/>
<label>联系手机{{d.mobile}}</label>
<br/>
<label>用户档案{{d.address}}</label>
<br/>
</div>
</script>
<div class="layui-card-body">
<table id="lists" lay-filter="lists"></table>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="user_group-submit" id="user_group-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index','table','like','element'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,like = layui.like
,element = layui.element
,id ="{$detail.id}";
element.on('tab(tab-all)', function (data) {
var index = data.index;
getList(index);
})
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
getList(0)
function getList(index){
switch (index) {
case 0:
var cols = [
{field: 'order_sn', title: '订单编号',width: 180}
,{field: 'delivery_address', title: '房屋地址',width: 320,toolbar: '#address'}
,{field: 'total_nums', title: '商品数量',align: 'center',width: 100}
,{field: 'total_amount', title: '订单总额',width: 120, templet: function(d){
return '¥'+ d.total_amount +'</span>'
}
}
,{field: 'discount_amount', title: '优惠金额',width: 120,templet: function(d){
return '¥'+ d.discount_amount +'</span>'
}
}
,{field: 'order_amount', title: '实付金额',width: 160,templet: function(d){
return '¥'+ d.order_amount +'</span>'
}
}
,{field: 'number',title:'总次数' ,width: 160}
,{field: 'code',title:'剩余次数' ,width: 160}
,{field: 'code_number',title:'待服务' ,width: 160}
,{field: 'create_time',title:'下单时间'}
];
break;
case 1:
var cols = [
{field: 'source_type', title: 'id',}
,{field: 'change_amount', title: '投诉订单编号',}
,{field: 'left_amount', title: '服务人员',}
,{field: 'remark', title: '投诉内容',}
,{field: 'create_time', title: '投诉时间',}
];
break;
case 2:
var cols = [
{field: 'source_type', title: '跟进人员',}
,{field: 'change_amount', title: '跟进记录',}
,{field: 'remark', title: '跟进时间',}
];
break;
}
table.render({
id:'lists'
,elem: '#lists'
,url: '{:url("custom/customlist")}?type='+index+'&user_id='+id //模拟接口
,cols: [cols]
,page:true
,text: {none: '暂无数据!'}
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
return {
"code":res.code,
"msg":res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
}
});
}
})
</script>

View File

@@ -0,0 +1,601 @@
{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="admin_id" style="height:80px;width: 80px" >
<option value="" selected>全部</option>
{foreach $admin as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">来源渠道:</label>
<div class="layui-input-inline">
<select id="chann_id" name="chann_id" style="height:80px;width: 80px" >
<option value="" selected>请选择客户的来源渠道</option>
{foreach $chann as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</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-block">
<input type="text" name="adder" id="adder" 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="year" name="year" style="height:80px;width: 80px" >
<option value="" selected>全部</option>
<option value="2022">2022</option>
<option value="2023">2023</option>
<option value="2024">2024</option>
<option value="2025">2025</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">
<div style="padding-bottom: 10px;">
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" data-type="add">增加档案</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" data-type="set_group">发送短信</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;">
<img src="{{d.avatar}}" style="height:80px;width: 80px;" class="image-show">
<p>会员ID{{d.id}}</p>
<p style="text-overflow:ellipsis;overflow: hidden">客户姓名{{d.contact}}</p>
<p>客户电话{{d.telephone}}</p>
<p>绑定微信{{d.nickname}}</p>
</div>
</script>
<script type="text/html" id="qudao1">
<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 if(d.pet==2) { }}
未知
{{# }
else{ }}
无宠物
{{# } }}
</p>
<p>是否有厚玻璃
{{# if(d.hbl==1){}}
有超厚玻璃
{{# }
else if(d.hbl==2) { }}
未知
{{# }
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="onedit">编辑档案</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="del">删除客户</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/userexportFiles")}',
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 = {
set_group:function() { //设置分组
var check_status = table.checkStatus('user-lists')
,user_list = check_status.data; //得到选中的数据
//是否已选数据
if( user_list.length === 0){
return layer.msg('请选客户的档案');
}
//获取所选id
ids = [];
for (var i in user_list){
ids.push(user_list[i]['id']);
}
$.ajax({
url:'{:url("message/messageadd")}',
data:{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('user-lists'); //数据刷新
} else if(res.code == 1){
layui.layer.msg(res.msg)
}
}
});
},
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{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
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("user/onelist")}' //模拟接口
,cols: [[
{type: 'checkbox'}
,{field: 'contact', title: '客户的基础信息',align: 'center', toolbar: '#staff-info', }
,{field: 'qudao', title: '渠道来源',toolbar:'#qudao',}
,{field: 'address', title: '房屋信息及地址',toolbar: '#qudao1',width:260}
,{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 === 'del'){
var id = obj.data.id;
layer.confirm('确定删除客户档案吗', function(index){
$.ajax({
url:'{:url("custom/del")}',
data:{id:id},
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'); //数据刷新
obj.del();
}
}
});
layer.close(index);
});
}
if(obj.event === 'onedit'){
var id = obj.data.id;
layer.open({
type: 2
,title: '编辑客户'
,content: '{:url("user/onedit")}?id='+id
,area: ['60%', '80%']
,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/onedit")}',
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 === 'info'){
var id = obj.data.id;
layer.open({
type: 2
,title: '客户档案'
,content: '{:url("user/oneinfo")}?id='+id
,area: ['85%','90%']
,btn: ['返回']
})
}
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>

View File

@@ -0,0 +1,31 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label">选择分组:</label>
<div class="layui-input-inline">
<select name="group_id" lay-verify="required" placeholder="请选择分组" >
<option value="">请选择分组</option>
{foreach $group_list as $item}
<option value="{$item.id}" >{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="set_group-submit" id="set_group-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','like_area'], function(){
var $ = layui.$
,like_area = layui.like_area
,form = layui.form ;
})
</script>

View File

@@ -0,0 +1,153 @@
{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;
}
.layui-table-body {
height: auto !important;
}
</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-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="search">查询</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="clear-search">重置</button>
</div>
</div>
</div>
<!-- 数据表格 -->
<table id="transfer_list" lay-filter="transfer_list"></table>
<!-- 转账人信息 -->
<script type="text/html" id="transferFrom">
<img src="{{d.from_avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.from_sn}}</p>
<p style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width:150px;">会员昵称:{{d.from_nickname}}</p>
<p>会员等级:{{d.from_level_name}}</p>
</div>
</script>
<!-- 收款人信息 -->
<script type="text/html" id="transferTo">
<img src="{{d.to_avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.to_sn}}</p>
<p style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width:150px;">会员昵称:{{d.to_nickname}}</p>
<p>会员等级:{{d.to_level_name}}</p>
</div>
</script>
<script>
layui.config({
base: '/static/plug/layui-admin/dist/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'element', 'like', 'table', 'laydate'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, element = layui.element
, laydate = layui.laydate
, like = layui.like;
//日期时间范围
laydate.render({
elem: '#start_time'
,type: 'datetime'
,trigger: 'click'
});
//日期时间范围
laydate.render({
elem: '#end_time'
,type: 'datetime'
,trigger: 'click'
});
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('transfer_list', {
where: field,
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//清空查询
form.on('submit(clear-search)', function(){
$('#start_time').val(''); //清空输入框
$('#end_time').val(''); //清空输入框
//刷新列表
table.reload('transfer_list', {
where: [],
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
table.render({
elem: '#transfer_list'
,height: 312
,url: '/admin/user/transferRecord/' //数据接口
,page: true //开启分页
,cols: [[ //表头
{field: 'transfer_sn', title: '记录编号', width:180, align: 'center'}
,{title: '转账人', width:250, templet: '#transferFrom', align: 'center'}
,{title: '收款人', width:250, templet: '#transferTo', align: 'center'}
,{field: 'money', title: '转账金额', width:120, align: 'center'}
,{field: 'create_time', title: '转账时间', align: 'center'}
]]
,parseData: function(res){ //res 即为原始返回的数据
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.data.count, //解析数据长度
"data": res.data.list //解析数据列表
};
}
});
});
</script>