<!DOCTYPE HTML>
|
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta charset="utf-8">
|
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
<!-- 本框架基本脚本和样式 -->
|
<script type="text/javascript"
|
th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script>
|
<link rel="stylesheet"
|
th:href="@{/plugin/zTree/zTreeStyle/zTreeStyle.css}"
|
type="text/css">
|
<script type="text/javascript"
|
th:src="@{/plugin/zTree/jquery.ztree.core-3.5.min.js}"></script>
|
<script type="text/javascript"
|
th:src="@{/plugin/zTree/jquery.ztree.excheck.min.js}"></script>
|
</head>
|
<body class=" container-fluid">
|
<div class="pd-10">
|
<!-- 搜索框部分start -->
|
<div class="ibox-content">
|
<div class="row">
|
<span class="alert-warning btn-sm"> <b>提示:</b>
|
勾选左边的产品分类,可以绑定整个分类的产品到充值卡中。 勾选表格中的产品可以绑定单个产品到充值卡中。
|
</span>
|
</div>
|
<br>
|
<div class="row">
|
<div class="col-sm-3">
|
|
<div class="ibox float-e-margins">
|
<div class="ibox-title">
|
<h5>按商品类型绑定</h5>
|
</div>
|
<div id="treeDemo" class="ibox-content ztree"
|
style="min-height: 400px"></div>
|
</div>
|
|
</div>
|
<div class="col-sm-9">
|
<div class="ibox float-e-margins">
|
<div class="ibox-title">
|
<h5>按单个商品绑定</h5>
|
</div>
|
<div class="ibox-content">
|
<!-- 搜索框部分start -->
|
<form class="form-inline" id="serchform">
|
<input autocomplete="off" type="hidden" name="salePlatform" value="线下">
|
<div class="form-group mr-20">
|
<label for="instoreType">商品类型</label> <select
|
class="form-control" name="goodType" id="goodType">
|
<option value=''>--请选择商品类型--</option>
|
<option value='家居产品'>家居产品</option>
|
<option value='项目'>项目</option>
|
<option value='套餐'>套餐</option>
|
</select>
|
</div>
|
<div class="form-group mr-20">
|
<label for="name">商品名称</label> <input autocomplete="off" name="name" type="text"
|
class="form-control" id="name">
|
</div>
|
|
<div class="form-group mr-20">
|
<label for="goodsSortId">商品分类</label> <select
|
class="form-control " size="1" name="goodsSortId"
|
id="goodsSortId">
|
<option value=''>--选择商品分类--</option>
|
</select>
|
</div>
|
<button onclick="myGrid.serchData()" type="button"
|
class="btn btn-info btn-sm">
|
<i class="fa fa-search "></i> 搜索
|
</button>
|
<button onclick="myGrid.resetForm()" type="button" class="btn btn-info btn-sm">
|
<i class="fa fa-refresh "></i> 重置
|
</button>
|
<button type="button" onclick="selectAll()" class="btn btn-info btn-sm">
|
<i class="fa fa-refresh "></i> 全选
|
</button>
|
</form>
|
<table id="mgrid" data-url="">
|
<thead>
|
<tr>
|
<th data-field="name">产品名称</th>
|
<th data-field="sealPice">售价</th>
|
<th data-field="staus">状态</th>
|
<th data-field="isPresent">是否赠送</th>
|
<th data-field="goodType">类型</th>
|
<th data-field="cateName">分类</th>
|
</tr>
|
</thead>
|
</table>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="row ">
|
|
|
|
<div class="col-sm-9 col-sm-offset-3">
|
<div class="ibox-title">
|
<h5>已选择商品</h5>
|
</div>
|
<div class="ibox-content"></div>
|
<table class="table">
|
<thead>
|
<tr>
|
<th width="50">序号</th>
|
<th>产品名称</th>
|
<th>操作</th>
|
</tr>
|
</thead>
|
<tbody id="tbody">
|
</tbody>
|
</table>
|
</div>
|
<div class="row ">
|
<button class="btn btn-success center-block"
|
onclick="selectoption()">确认选择</button>
|
</div>
|
</div>
|
</div>
|
|
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
|
<script type="text/javascript" th:inline="javascript">
|
|
|
var myGrid;
|
var tree=null;
|
//记录客户选则的产品
|
var selectedTr = new Array();
|
var goodsList =[[${goodsList}]]
|
if(goodsList){
|
for(var i=0;i<goodsList.length;i++){
|
var goodsItem=goodsList[i];
|
var obj = new Object();
|
//库存sku信息
|
//组合id
|
obj.id=goodsItem.id;
|
//商品id
|
obj.name=goodsItem.name;
|
selectedTr[i]=obj;
|
}
|
}
|
selectTrChange();
|
|
$(function() {
|
//初始化商品属性搜索列表
|
MTools.autoFullSelect();
|
myGrid = MGrid.initGrid({
|
height : 400,
|
url : basePath+"/admin/shoppinggoods/showList",
|
});
|
|
initCateTree();
|
$('#mgrid').on('click-row.bs.table', function(e, name, args) {
|
selectTrChange(e, name, args);
|
})
|
});
|
|
|
|
|
//初始化商品类型
|
function initCateTree() {
|
var zNodes = new Array();
|
$.AjaxProxy({
|
p : {
|
salePlatform : '线下'
|
}
|
}).invoke(
|
basePath+"/admin/shoppinggoodscategory/all",
|
function(loj) {
|
//初始化下拉选择框
|
$("#goodsSortId").createSelectTree(loj.attr("result").rows, {
|
append : true,
|
value : "name",
|
});
|
|
|
for (var i = 0; i < loj.getRowCount(); i++) {
|
zNodes[i] = createNode(loj.getString(i, "id"), loj
|
.getString(i, "parentId"), loj.getString(i,
|
"name"));
|
}
|
initTree(zNodes);
|
});
|
}
|
//确认选择
|
function selectoption() {
|
var arr = myGrid.initParam.$table.bootstrapTable('getSelections');
|
//客户选择的要绑定的分类
|
var cates=tree.getCheckedNodes();
|
var keys="";
|
for(var i=0 ; i<cates.length ; i++){
|
keys+=cates[i]["id"]+",";
|
}
|
var goodIds="";
|
for(var i=0 ; i<selectedTr.length ; i++){
|
goodIds+=selectedTr[i]["id"]+",";
|
}
|
parent.callback(goodIds,keys);
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
}
|
|
/**
|
* 初始化商品类型列表
|
*/
|
function initFunctionSelected(id) {
|
$
|
.AjaxProxy({
|
a : false,
|
c : false,
|
p : {
|
salePlatform : '线下'
|
}
|
})
|
.invoke(
|
basePath+"/admin/shoppinggoodscategory/all",
|
function(loj) {
|
$("#parentId")
|
.createSelectTree(
|
loj.attr("result").rows,
|
{
|
append : false,
|
defaultValue : id,
|
value : "name",
|
defaultHtml : '<option value="0" selected="selected">一级商品类型</option>',
|
});
|
});
|
|
}
|
|
function initTree(zNodes) {
|
var setting = {
|
check : {
|
enable : true,
|
chkStyle : "checkbox",
|
radioType : "level",
|
chkboxType : {
|
"Y" : "ps",
|
"N" : "ps"
|
}
|
},
|
view : {
|
dblClickExpand : false,
|
showLine : true,
|
|
},
|
data : {
|
simpleData : {
|
enable : true,
|
idKey : "id",
|
pIdKey : "pId",
|
rootPId : ""
|
}
|
},
|
|
};
|
tree=$.fn.zTree.init($("#treeDemo"), setting, zNodes);
|
}
|
|
function createNode(id, parentId, name) {
|
var o = new Object();
|
o.id = id;
|
o.pId = parentId;
|
o.name = name;
|
o.open = true;
|
//如果是编辑则设置节点选中
|
var cates=[[${cates}]];
|
if(cates){
|
var cates="${cates}";
|
if(cates.indexOf(id)!=-1){
|
o.checked=true;
|
}
|
}
|
return o;
|
}
|
function selectAll(){
|
var allTableData = $("#mgrid").bootstrapTable('getData');
|
for(var t=0;t<allTableData.length;t++){
|
var flag = true;
|
for (var i = 0; i < selectedTr.length; i++) {
|
if (allTableData[t].id == selectedTr[i].id) {
|
flag = false;
|
}
|
}
|
if (flag) {
|
selectedTr.push(allTableData[t]);
|
}
|
}
|
|
var html = '';
|
for (var i = 0; i < selectedTr.length; i++) {
|
html += '<tr><td>'
|
+ (i + 1)
|
+ '</td><td>'
|
+ selectedTr[i].name
|
+ '</td>'
|
+ '<td><a class="fa fa-trash" onClick="delSelectItem(this,'
|
+ selectedTr[i].id + ')" title="删除"></a></td></tr>';
|
}
|
$("#tbody").html(html);
|
}
|
|
//改变tr选择
|
function selectTrChange(e, name, args) {
|
var flag = true;
|
if(name){
|
for (var i = 0; i < selectedTr.length; i++) {
|
if (name.id == selectedTr[i].id) {
|
flag = false;
|
}
|
}
|
if (flag) {
|
selectedTr.push(name);
|
}
|
}
|
var trs = $('#mgrid').bootstrapTable('getSelections');
|
var html = '';
|
for (var i = 0; i < selectedTr.length; i++) {
|
html += '<tr><td>'
|
+ (i + 1)
|
+ '</td><td>'
|
+ selectedTr[i].name
|
+ '</td>'
|
+ '<td><a class="fa fa-trash" onClick="delSelectItem(this,'
|
+ selectedTr[i].id + ')" title="删除"></a></td></tr>';
|
}
|
$("#tbody").html(html);
|
}
|
|
//删除选中的元素
|
function delSelectItem(node, id) {
|
var arr = new Array();
|
for (var i = 0; i < selectedTr.length; i++) {
|
if (id != selectedTr[i].id) {
|
arr.push(selectedTr[i]);
|
}
|
}
|
selectedTr=arr.reverse();
|
$(node).closest('tr').remove();
|
}
|
</script>
|
|
</body>
|
</html>
|