dggzichahu/application/admin/view/goods_comment/lists.html

442 lines
20 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{layout name="layout1" /}
<div class="layui-fluid">
<div class="layui-form">
<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>
<p>*可以对会员的商品评价进行回复,隐藏或删除。</p>
<p>*商品评价会在商城的商品详情中进行显示。</p>
</div>
</div>
</div>
</div>
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<ul class="layui-tab-title">
<li data-type=1 class="layui-this">全部评论</li>
<li data-type=2 >待回复评论</li>
</ul>
<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" style="white-space: nowrap;">评价信息:</label>
<div class="layui-input-inline">
<select name="choice" id="choice">
<option value=""></option>
<option value="1">商品名称</option>
<option value="2">会员编号</option>
<option value="3">会员昵称</option>
<option value="4">手机号码</option>
</select>
</div>
<div class="layui-input-inline">
<input type="text" name="keyword" id="keyword" placeholder="请输入关键词" autocomplete="off" class="layui-input">
</div>
<div class="layui-inline">
<label class="layui-form-label">评分等级:</label>
<div class="layui-input-inline">
<select name="goods_comment" id="goods_comment" >
<option value="">全部</option>
<option value="1">好评</option>
<option value="2">中评</option>
<option value="3">差评</option>
</select>
</div>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">评论时间:</label>
<div class="layui-input-inline">
<div class="layui-input-inline">
<input type="text" name="start_time" class="layui-input" id="start_time"
placeholder="" autocomplete="off">
</div>
</div>
<div class="layui-input-inline" style="margin-right: 5px;width: 20px;">
<label class="layui-form-mid"></label>
</div>
<div class="layui-input-inline">
<input type="text" name="end_time" class="layui-input" id="end_time"
placeholder="" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-unit {$view_theme_color}" lay-submit lay-filter="comment-search">查询</button>
<button class="layui-btn layui-btn-sm layui-btn-primary layuiadmin-btn-unit }" lay-submit lay-filter="comment-clear-search">清空查询</button>
</div>
</div>
</div>
<div class="layui-card-body">
<div class="layui-card">
<div style="padding-bottom: 10px;">
<button class="layui-btn layui-btn-sm layuiadmin-btn-unit layui-btn-danger" data-type="batchdel" id="batchdel">删除所选</button>
</div>
<table id="goods_comment-lists" class="layui-border-box" lay-filter="goods_comment-lists"></table>
<!--会员信息-->
<script type="text/html" id="user">
<img src="{{d.avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号{{d.sn}}</p>
<p>昵称{{d.nickname}}</p>
<p>会员等级{{d.level_name}}</p>
</div>
</script>
<!--商品信息-->
<script type="text/html" id="goods">
<img src="{{d.image}}" style="height:80px;width: 80px;" class="image-show layui-col-md4">
<div class="layui-input-inline" style="text-align: left;margin-left: 5px;">
<p>商品名称:{{d.name}}</p>
<p>商品规格:{{d.spec_value_str}}</p>
</div>
</script>
<script type="text/html" id="comment_image">
{{# layui.each(d.comment_image, function(index, item){ }}
<img src="{{item}}" class="image-show" alt="评论图片" style="width:50px;height:50px;float:left;margin-right:5px;">
{{# }); }}
</script>
<script type="text/html" id="comment-operation">
{{# if(d.reply === null) { }}
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="reply">待回复</a>
{{# } }}
{{# if(d.reply) { }}
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="reply">修改回复</a>
{{# } }}
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="status_switch">{{d.info_state_switch}}</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
</script>
</div>
</div>
</div>
</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','form','laydate'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, like = layui.like
,element = layui.element
, laydate = layui.laydate;
//日期时间范围
laydate.render({
elem: '#start_time'
,type: 'datetime'
,trigger: 'click'
});
laydate.render({
elem: '#end_time'
,type: 'datetime'
,trigger: 'click'
});
getList(1);
//切换列表
element.on('tab(tab-all)', function (data) {
var type = $(this).attr('data-type');
getList(type);
});
//监听搜索
form.on('submit(comment-search)', function(data){
var field = data.field;
//执行重载
table.reload('goods_comment-lists', {
where: field,
page: {
curr: 1 //重新从第 1 页开始
},
});
});
//清空查询
form.on('submit(comment-clear-search)', function(){
$('#keyword').val('');
$('#choice').val('');
$('#goods_comment').val('');
$('#start_time').val(''); //清空输入框
$('#end_time').val(''); //清空输入框
//刷新列表
form.render('select');
table.reload('goods_comment-lists', {
where: [],
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
function getList(type) {
table.render({
elem: '#goods_comment-lists'
, url: '{:url("goods_comment/lists")}?type='+type
, cols: [[
{type: 'checkbox',title: '当页全选'},
{field: 'user', title: '会员信息',templet:'#user',width:310},
{field: 'goods', title: '商品信息',templet:'#goods',width:320},
{field: 'goods_comment', title: '评分等级', align: 'center',width:100},
// {field: 'comment', title: '评价内容',templet:'#comment',width:250},
{field: 'comment', title: '买家评价',width:200},
{field: 'commentImage', title: '评论图片',width:200, templet:"#comment_image"},
{field: 'reply', title: '商家回复',width:200},
{field: 'status', title: '显示状态', align: 'center',width:100},
{field: 'comment_time', title: '评论时间', align: 'center',width:200},
{fixed: 'right', title: '操作', align: 'center', toolbar: '#comment-operation',width:200},
]]
, 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()
}
}
})};
table.on('tool(goods_comment-lists)', function(obj){
if(obj.event === 'del'){
var id = obj.data.id;
var name = obj.data.name;
layer.confirm('确定删除评论:<span style="color: red">'+name+"</span>", function(index){
like.ajax({
url:'{:url("goods_comment/del")}',
data:{delData: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('goods_comment-lists'); //数据刷新
obj.del();
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
layer.close(index);
});
}
if(obj.event === 'status_switch'){
var id = obj.data.id;
var info_state = obj.data.status;
var name = obj.data.name;
var status = 0;
if (info_state == '显示'){
status = 0;
layer.confirm('确认隐藏评论:<span style="color: red">'+name+'</span>', function(index){
like.ajax({
url:'{:url("goods_comment/switchStatus")}',
data:{id:id,status:status},
type:"get",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('goods_comment-lists');
}
}
});
layer.close(index);
});
}else if (info_state == '隐藏') {
status = 1;
layer.confirm('确认显示评论:<span style="color: red">'+name+'</span>', function(index){
like.ajax({
url:'{:url("goods_comment/switchStatus")}',
data:{id:id,status:status},
type:"get",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('goods_comment-lists');
}
}
});
layer.close(index);
});
}
}
if(obj.event === 'reply'){
var id = obj.data.id;
layer.open({
type: 2
,title: '商品评论'
,content: '{:url("goods_comment/reply")}?id='+id
,area: ['60%','60%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'reply-comment-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
$.ajax({
url:'{:url("goods_comment/reply")}',
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('goods_comment-lists'); //数据刷新
}else{
iframeWindow.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
},
error:function(res)
{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
});
});
submit.trigger('click');
}
})
}
});
$('#batchdel').click(
function(){ //删除所选
var checkStatus = table.checkStatus('goods_comment-lists')
,checkData = checkStatus.data; //得到选中的数据
//是否已选数据
if(checkData.length === 0){
return layer.msg('请选择数据');
}else {
//获取所选id
ids = [];
for (let i of checkData){
ids.push(i['id']);
}
layer.confirm('确定删除所选评价?', function(index){
like.ajax({
url:'{:url("goods_comment/del")}',
data:{delData: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_comment-lists'); //数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
layer.close(index);
});
}
}
)
});
</script>