Authored by weiqingting

Merge branch 'feature/4.5' of http://git.dev.yoho.cn/platform/yohobuy-portal-fe into feature/4.5

... ... @@ -46,7 +46,9 @@ var urlObj = {
'codGetSknList':'/payDelivery/queryPayDeliveryProductSkn',
'codGetBrandList':'/payDelivery/queryPayDeliveryBrandName',
//发券
'couponID':'/coupon/queryList'//优惠券ID
'couponID':'/coupon/queryList',//优惠券ID
//获取所有APP版本号列表
'appVersions':'/suggest/suggest/getAllAppVersions'
};
var minimumResultsForSearch = ["sortbybrand", "getjitSup", "sortsize2", "querySupplier"];
... ...
/**
* Created by jiangmin on 2016/5/9.
* 反馈管理
*/
var $ = require('jquery');
common = require('../common/common');
datepicker = require('../util/datepicker');
var ENUM = {
//发送状态
StatusEnum1: {
'0': '未发送',
'1': '未发送',
'2': '已发送'
},
//状态
StatusEnum2: {
'0': '未回复',
'1': '已回复',
'2': '已回复'
}
};
/**
* 下拉框
*/
new common.dropDown({
el: "#isHot-filter"
});
new common.dropDown({
el: "#status-filter"
});
new common.dropDown({
el: "#clientType-filter"
});
new common.dropDown({
el: "#appVersion-filter",
ajax: "appVersions"
});
/**
* 日期插件
*/
$('.hasDatepicker').fdatepicker({
format: 'yyyy-mm-dd'
});
/**
* 列表
* @type {common.grid}
*/
var g = new common.grid({
el: '#content-list',
parms: function () {
return {
uid: common.util.__input('uid-filter'),
startTime: common.util.__input('startTime'),
endTime: common.util.__input('endTime'),
isHot: common.util.__input('isHot-filter'),
status: common.util.__input('status-filter'),
clientType: common.util.__input('clientType-filter'),
appVersion: common.util.__input('appVersion-filter'),
//todo 回复人
replyer: common.util.__input('replyer-filter')
};
},
columns: [
{
display: '',
type: 'checkbox'
}, {
display: "UID",
name: "uid"
}, {
display: "来源",
name: "clientType"
}, {
display: '版本号',
name: "appVersion"
}, {
display: '图片',
render: function (item) {
return '<a href="' + item.imageUrl + '" target="_blank"><img src="' + item.imageUrl + '"></a>'
}
}, {
display: '反馈内容',
name: "content"
}, {
display: '回复内容',
name: "replyContent"
}, {
display: '回复人',
render: function (item) {
if (item.status == '0') {
return "";
}
else {
//todo
return "test"
}
}
}, {
display: '时间',
name: "createTime"
}, {
display: "发送状态",
render: function (item) {
return "<p>" + ENUM.StatusEnum1[item.status] + "</p>";
}
}, {
display: "状态",
name: 'status',
render: function (item) {
return "<p>" + ENUM.StatusEnum2[item.status] + "</p>";
}
}, {
display: '操作',
render: function (item) {
var HtmArr = [];
//已发送,已回复,则不可再“回”
if (item.status == 2) {
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-info btn-xs reply" disabled="true">回</a>');
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-primary btn-xs publish" disabled="true">发</a>');
}
else {
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-info btn-xs reply">回</a>');
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-primary btn-xs publish">发</a>');
}
if (item.isHot == 1) {
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-success btn-xs setHot" disabled="false">热</a>');
}
else {
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-success btn-xs setHot">热</a>');
}
HtmArr.push('<a data-index="' + item.__index + '" href="JavaScript:;" class="btn btn-danger btn-xs delete">删</a>');
return HtmArr.join('');
}
}]
});
g.init('/suggest/suggest/getSuggestList1');
var Bll = {
toast: function (url, item, content) {
common.dialog.confirm("",
content,
function () {
common.util.__ajax({
url: url,
data: item
}, function () {
g.reload();
});
});
},
toastBatch: function (url, item, content) {
common.dialog.confirm("", content,
function () {
common.util.__ajax({
url: url,
data: item
}, function (res) {
console.log(res);
//g.reload(1);
});
});
}
};
/**
* 查询按钮点击时间
*/
$("#filter-btn").click(function () {
g.reload(1);
});
/**
* 回
*/
$(document).on('click', '.reply', function () {
var item = g.rows[$(this).data("index")];
common.dialog({
title: "回答反馈内容",
content: common.util.__template2($("#replyTemplate").html(), item),
button: [
{
value: "保存",
callback: function () {
common.util.__ajax({
url: "/suggest/suggest/replySuggest",
data: {
id: item.id,
replyContent: $("#replyContent").val()
}
}, function (res) {
if (res.code == '200') {
g.reload();
}
})
},
css: "btn btn-info"
}, {
value: "取消"
}
]
});
});
/**
* 发
*/
$(document).on('click', '.publish', function () {
var item = g.rows[$(this).data("index")];
item = {
id: item.id
};
Bll.toast('/suggest/suggest/publishSuggest', item, "是否确认发送?");
});
/**
* 热
*/
$(document).on('click', '.setHot', function () {
var item = g.rows[$(this).data("index")];
item = {
id: item.id,
isHot: 1
};
Bll.toast('/suggest/suggest/setHotSuggest', item, "是否确认设置热门?");
});
/**
* 删除
*/
$(document).on('click', '.delete', function () {
var item = g.rows[$(this).data("index")];
Bll.toast('/suggest/suggest/deleteSuggest', item, "是否确认删除?");
});
//批量发送
$(document).on('click', '#batchPublish', function () {
var selectedArr = g.selected,
len = selectedArr.length,
idList = [];
if (len <= 0) {
common.util.__tip('请选择反馈', 'warning');
return;
}
$.each(selectedArr, function (i, value) {
idList.push(value['id']);
});
var ids=idList.join(",");
console.log(ids);
Bll.toastBatch("/suggest/suggest/batchPublishSuggest",ids,"确定批量发送吗?");
});
\ No newline at end of file
... ...
... ... @@ -22,11 +22,11 @@ var config = {
//domain: 'http://172.16.6.146:8088/platform', //玛丽
//domain:'http://172.16.6.157:8080/yohobuy-platform-web',//葛超
// domain: 'http://192.168.102.216:8086/platform',
// domain: 'http://192.168.102.202:8088/platform',
domain: 'http://192.168.102.202:8088/platform',
//domain:'http://172.16.6.120:8088/platform',//曹艳
//domain:'http://172.16.6.231:8080/platform',//王伟
//domain: 'http://172.16.6.239:8080', //孙杰翔
domain:'http://172.16.6.189:8088/platform', //李健1
//domain:'http://172.16.6.189:8088/platform', //李健1
//domain:'http://192.168.102.216:8180/platform', //李健2
//domain: 'http://172.16.6.243:8088/platform', //谭玲
//domain: 'http://172.16.6.108:8088/platform', //谭玲
... ...
... ... @@ -158,5 +158,15 @@ exports.res = [
name: 'idName',
type: 'String'
}]
},
//获取所有APP版本号列表
{
route:' /suggest/suggest/getAllAppVersions',
method:'POST',
url:' /suggest/suggest/getAllAppVersions',
params: [{
name: 'idName',
type: 'String'
}]
}
];
\ No newline at end of file
... ...
/**
* Created by jiangmin on 16/5/9.
*/
//接口主域
//exports.domain = require('../config/common.js').domain;
exports.domain = 'http://172.16.6.225:8080/platform';
//路由配置
exports.res = [
{
//页面渲染
route: '/suggest/suggest/getSuggestList',
method: 'GET',
view: 'pages/suggest/index',
src: '/suggest/index'
},
//列表
{
route: '/suggest/suggest/getSuggestList1',
method: 'POST',
url: '/suggest/suggest/getSuggestList',
params: [
{name: 'page', type: 'Number', def: '1'},
{name: 'size', type: 'Number', def: '10'},
{name: 'uid', type: 'String'},//uid
{name: 'startTime', type: 'String'},//开始时间
{name: 'endTime', type: 'String'},//结束时间
{name: 'isHot', type: 'String'},//是否热门(0:不热门,1:热门)
{name: 'status', type: 'String'},//状态(0:未回复,1:已回复,2:已发送)
{name: 'clientType', type: 'String'},//来源
{name: 'appVersion', type: 'String'}//版本号
]
},
{
//回复APP意见
route: '/suggest/suggest/replySuggest',
method: 'POST',
url: '/suggest/suggest/replySuggest',
params: [
{name: 'id', type: 'String'},//id
{name: 'replyContent', type: 'String'}//回复内容
]
},
{
//设置热门/非热门接口
route: '/suggest/suggest/setHotSuggest',
method: 'POST',
url: '/suggest/suggest/setHotSuggest',
params: [
{name: 'id', type: 'String'},
{name: 'isHot', type: 'Number'}
]
},
{
//删除APP意见
route: '/suggest/suggest/deleteSuggest',
method: 'POST',
url: '/suggest/suggest/deleteSuggest',
params: [
{name: 'id', type: 'String'}
]
},
{
//发送APP意见
route: '/suggest/suggest/publishSuggest',
method: 'POST',
url: '/suggest/suggest/publishSuggest',
params: [
{name: 'id', type: 'String'}
]
},
{
//批量发送APP意见
route: '/suggest/suggest/batchPublishSuggest',
method: 'POST',
url: '/suggest/suggest/batchPublishSuggest',
params: [
{name: 'id', type: 'String'}
]
}
];
... ...
<!--反馈管理界面-->
<div class="pageheader">
<div class="media">
<div class="pageicon pull-left">
<i class="fa fa-th-list"></i>
</div>
<div class="media-body">
<ul class="breadcrumb">
<li><a href=""><i class="glyphicon glyphicon-home"></i></a></li>
<li><a href="">反馈管理</a></li>
<li>反馈管理</li>
</ul>
<div>
<div style="width: 30%;float: left;">
<h4>反馈列表</h4>
</div>
</div>
</div>
</div>
</div>
<div class="contentpanel">
<div class="panel panel-default" style="...">
<div class="panel-body">
<div class="row">
<div class="panel-col">
<input type="text" value="" id="uid-filter" placeholder="UID"
class="form-control">
</div>
<div class="panel-col">
<input type="text" id="startTime" class="form-control panel-input hasDatepicker" name="start_time"
placeholder="开始时间" value="" kl_vkbd_parsed="true">
</div>
<div class="panel-col">
<input type="text" id="endTime" class="form-control panel-input hasDatepicker" name="end_time"
placeholder="结束时间" value="" kl_vkbd_parsed="true">
</div>
<div class="panel-col">
<select id="isHot-filter" class="form-control">
<option value="-1">是否热门</option>
<option value="0">不热门</option>
<option value="1">热门</option>
</select>
</div>
<div class="panel-col">
<select id="status-filter" class="form-control">
<option value="-1">选择状态</option>
<option value="0">未回复</option>
<option value="1">已回复</option>
<option value="2">已发送</option>
</select>
</div>
<div class="panel-col">
<select id="clientType-filter" class="form-control">
<option value="-1">选择来源</option>
<option value="iphone">iphone</option>
<option value="android">android</option>
</select>
</div>
<div class="panel-col">
<select id="appVersion-filter" class="form-control">
<option value="-1">选择版本号</option>
</select>
</div>
<div class="panel-col">
<select id="replyer-filter" class="form-control">
<option value="-1">选择回复人</option>
</select>
</div>
<div class="panel-col">
<a id="filter-btn" href="javascript:;" class="btn btn-info">查询</a>
<a id="filter-all" href="/suggest/suggest/getSuggestList" class="btn btn-info">全部</a>
</div>
</div>
</div>
</div>
<div id="batch-list" class="pull-right">
<a id="batchExport" href="javascript:;" class="btn btn-info">批量导出</a>
<a id="batchPublish" href="javascript:;" class="btn btn-info">批量发送</a>
</div>
<div id="content-list"></div>
</div>
<!--回复内容-->
<script type="text/template" id="replyTemplate">
<div class="form-group">
<label class="col-sm-2 control-label">回复内容</label>
<div class="col-sm-10">
<textarea style="resize: none;height:90px;width:90%;overflow: auto" rows="6" id="replyContent" val="[[replyContent]]">[[replyContent]]</textarea>
</div>
</div>
</script>
... ...