添加项目文件。

This commit is contained in:
JianWeie
2021-12-20 21:27:32 +08:00
parent 747486f5cb
commit 82d825b7a5
3514 changed files with 887941 additions and 0 deletions

View File

@@ -0,0 +1,155 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAgentGoods-createForm" id="LAY-app-CoreCmsAgentGoods-createForm">
<div class="layui-form-item">
<label for="goodId" class="layui-form-label layui-form-required">商品选择</label>
<div class="layui-input-block">
<div id="goodId" class="xm-select-demo"></div>
</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label layui-form-required">排序</label>
<div class="layui-input-inline layui-inline-4">
<input type="number" min="0" max="999999" name="sortId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<label for="isEnable" class="layui-form-label layui-form-required">是否启用</label>
<div class="layui-input-inline layui-inline-4">
<input type="checkbox" lay-filter="switch" name="isEnable" lay-skin="switch" lay-text="开启|关闭" checked="checked">
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"> <legend style="font-size:14px;">货品信息</legend> </fieldset>
<div id="productBox" class="productBox"></div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAgentGoods-createForm-submit" id="LAY-app-CoreCmsAgentGoods-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script id="productBoxTmp" type="text/html">
<table class="layui-table" lay-size="sm">
<thead>
<tr>
<th>货品规格</th>
<th style="width: 60px">成本价格</th>
<th style="width: 60px">销售价格</th>
{{# layui.each(d.agentGrade, function(index, item){ }}
<th style="width: 70px">{{ item.name }}</th>
{{# }); }}
</tr>
</thead>
<tbody>
{{# layui.each(d.list, function(index, item){ }}
<tr>
<td style="text-align: left;">{{ item.spesDesc || '默认货品(无规格)'}}</td>
<td>{{ item.costprice }}</td>
<td>{{ item.price }}</td>
{{# layui.each(d.agentGrade, function(key, grade){ }}
<td>
<input type="hidden" name="goodId[{{index* d.agentGrade.length + key}}]" value="{{item.goodsId}}">
<input type="hidden" name="productId[{{index* d.agentGrade.length + key}}]" value="{{item.id}}">
<input type="hidden" name="productCostPrice[{{index* d.agentGrade.length + key}}]" value="{{item.costprice}}">
<input type="hidden" name="productPrice[{{index* d.agentGrade.length + key}}]" value="{{item.price}}">
<input type="hidden" name="agentGradeId[{{index* d.agentGrade.length + key}}]" value="{{grade.id}}">
{{# if(grade.defaultSalesPriceType === 1){ }}
<input type="text" name="agentGradePrice[{{index* d.agentGrade.length + key}}]" value="{{ layui.coreHelper.toDecimal2(item.costprice + item.costprice * grade.defaultSalesPriceNumber / 100 , 2) }}" lay-verify="required|number" class="layui-input">
{{# }else{ }}
<input type="text" name="agentGradePrice[{{index* d.agentGrade.length + key}}]" value="{{ item.costprice + grade.defaultSalesPriceNumber }}" lay-verify="required|number" class="layui-input">
{{# } }}
</td>
{{# }); }}
</tr>
{{# }); }}
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
var agentGrade;
layui.data.done = function (d) {
agentGrade = d.params.data.agentGrade;
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'xmSelect', 'laytpl'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, xmSelect = layui.xmSelect
, cropperImg = layui.cropperImg
, laytpl = layui.laytpl
, coreHelper = layui.coreHelper;
xmSelect.render({
el: '#goodId',
toolbar: {
show: true,
},
name: 'goodId',
layVerify: 'required',
layVerType: 'msg',
filterable: true,
radio: true,
clickClose: true,
paging: true,
pageSize: 10,
prop: {
name: 'title',
value: 'value',
},
height: '500',
data: d.params.data.goods,
on: function (data) {
//arr: 当前多选已选中的数据
var arr = data.arr;
//change, 此次选择变化的数据,数组
var change = data.change;
//isAdd, 此次操作是新增还是删除
var isAdd = data.isAdd;
getProducts(arr[0].value);
console.log(data);
//可以return一个数组, 代表想选中的数据
//return []
},
})
function getProducts(goodId) {
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/Tools/GetProducts", { id: goodId }, function (e) {
console.log(e)
if (e.code === 0) {
var data = {
list: e.data,
agentGrade: agentGrade
}
var getTpl = productBoxTmp.innerHTML, view = document.getElementById('productBox');
laytpl(getTpl).render(data, function (html) {
view.innerHTML = html;
});
form.render();
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
}
form.verify();
//重载form
form.render(null, 'LAY-app-CoreCmsAgentGoods-createForm');
})
};
</script>

View File

@@ -0,0 +1,112 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsAgentGoods-detailsForm" id="LAY-app-CoreCmsAgentGoods-detailsForm">
<div class="layui-form-item">
<label for="goodId" class="layui-form-label ">商品</label>
<div class="layui-input-inline layui-inline-100 layui-form-mid">
{{ d.params.data.goods.name || '' }}
</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label ">排序</label>
<div class="layui-input-inline layui-inline-2 layui-form-mid">
{{ d.params.data.model.sortId || '' }}
</div>
<label for="isEnable" class="layui-form-label ">是否启用</label>
<div class="layui-input-inline layui-inline-2 layui-form-mid">
<input type="checkbox" disabled name="isEnable" value="{{d.params.data.model.isEnable}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isEnable" {{ d.params.data.model.isEnable ? 'checked' : '' }}>
</div>
<label for="isEnable" class="layui-form-label ">创建时间</label>
<div class="layui-input-inline layui-inline-3 layui-form-mid">
{{ d.params.data.model.createTime || '' }}
</div>
<label for="isEnable" class="layui-form-label ">更新时间</label>
<div class="layui-input-inline layui-inline-3 layui-form-mid">
{{ d.params.data.model.updateTime || '' }}
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"> <legend style="font-size:14px;">货品信息</legend> </fieldset>
<div id="productBox" class="productBox"></div>
</div>
</script>
<script id="productBoxTmp" type="text/html">
<table class="layui-table" lay-size="sm">
<thead>
<tr>
<th>货品规格</th>
<th style="width: 60px">成本价格</th>
<th style="width: 60px">销售价格</th>
{{# layui.each(d.agentGrade, function(index, item){ }}
<th style="width: 70px">{{ item.name }}</th>
{{# }); }}
</tr>
</thead>
<tbody>
{{# layui.each(d.list, function(index, item){ }}
<tr>
<td style="text-align: left;">{{ item.spesDesc || '无规格'}}</td>
<td>{{ item.costprice }}</td>
<td>{{ item.price }}</td>
{{# layui.each(d.agentGrade, function(key, grade){ }}
<td>
{{# layui.each(d.agentProducts, function(apkey, ap){ }}
{{# if(ap.agentGradeId == grade.id && ap.productId == item.id){ }}
{{ ap.agentGradePrice }}
{{# } }}
{{# }); }}
</td>
{{# }); }}
</tr>
{{# }); }}
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'xmSelect', 'laytpl'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, xmSelect = layui.xmSelect
, cropperImg = layui.cropperImg
, laytpl = layui.laytpl
, coreHelper = layui.coreHelper;
var data = {
list: d.params.data.products,
agentGrade: d.params.data.agentGrade,
agentProducts: d.params.data.agentProducts,
}
var getTpl = productBoxTmp.innerHTML, view = document.getElementById('productBox');
laytpl(getTpl).render(data, function (html) {
view.innerHTML = html;
});
form.render();
form.render(null, 'LAY-app-CoreCmsAgentGoods-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,185 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAgentGoods-editForm" id="LAY-app-CoreCmsAgentGoods-editForm">
<input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="goodId" class="layui-form-label layui-form-required">商品选择</label>
<div class="layui-input-block">
<!--<input type="number" min="0" max="999999" name="goodId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入商品序列" lay-reqText="请输入商品序列并为数字" />-->
<div id="goodId" class="xm-select-demo"></div>
</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label layui-form-required">排序</label>
<div class="layui-input-inline layui-inline-4">
<input type="number" min="0" max="999999" name="sortId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<label for="isEnable" class="layui-form-label layui-form-required">是否启用</label>
<div class="layui-input-inline layui-inline-4">
<input type="checkbox" lay-filter="switch" name="isEnable" lay-skin="switch" lay-text="开启|关闭" checked="checked">
</div>
</div>
<fieldset class="layui-elem-field layui-field-title"> <legend style="font-size:14px;">货品信息</legend> </fieldset>
<div id="productBox" class="productBox"></div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAgentGoods-editForm-submit" id="LAY-app-CoreCmsAgentGoods-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script id="productBoxTmp" type="text/html">
<table class="layui-table" lay-size="sm">
<thead>
<tr>
<th>货品规格</th>
<th style="width: 60px">成本价格</th>
<th style="width: 60px">销售价格</th>
{{# layui.each(d.agentGrade, function(index, item){ }}
<th style="width: 70px">{{ item.name }}</th>
{{# }); }}
</tr>
</thead>
<tbody>
{{# layui.each(d.list, function(index, item){ }}
<tr>
<td style="text-align: left;">
{{ item.spesDesc || '默认货品(无规格)'}}
</td>
<td>{{ item.costprice }}</td>
<td>{{ item.price }}</td>
{{# layui.each(d.agentGrade, function(key, grade){ }}
<td>
<input type="hidden" name="goodId[{{index* d.agentGrade.length + key}}]" value="{{item.goodsId}}">
<input type="hidden" name="productId[{{index* d.agentGrade.length + key}}]" value="{{item.id}}">
<input type="hidden" name="productCostPrice[{{index* d.agentGrade.length + key}}]" value="{{item.costprice}}">
<input type="hidden" name="productPrice[{{index* d.agentGrade.length + key}}]" value="{{item.price}}">
<input type="hidden" name="agentGradeId[{{index* d.agentGrade.length + key}}]" value="{{grade.id}}">
{{# if(d.agentProducts && d.allNew==false){ }}
{{# layui.each(d.agentProducts, function(apkey, ap){ }}
{{# if(ap.agentGradeId == grade.id && ap.productId == item.id){ }}
<input type="text" name="agentGradePrice[{{index* d.agentGrade.length + key}}]" value="{{ ap.agentGradePrice }}" data-agentGradeId="{{ ap.agentGradeId }}" lay-verify="required|number" class="layui-input">
{{# } }}
{{# }); }}
{{# }else{ }}
{{# if(grade.defaultSalesPriceType === 1){ }}
<input type="text" name="agentGradePrice[{{index* d.agentGrade.length + key}}]" value="{{ layui.coreHelper.toDecimal2(item.costprice + item.costprice * grade.defaultSalesPriceNumber / 100 , 2) }}" lay-verify="required|number" class="layui-input">
{{# }else{ }}
<input type="text" name="agentGradePrice[{{index* d.agentGrade.length + key}}]" value="{{ item.costprice + grade.defaultSalesPriceNumber }}" lay-verify="required|number" class="layui-input">
{{# } }}
{{# } }}
</td>
{{# }); }}
</tr>
{{# }); }}
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'xmSelect', 'laytpl'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, xmSelect = layui.xmSelect
, laytpl = layui.laytpl
, coreHelper = layui.coreHelper;
xmSelect.render({
el: '#goodId',
toolbar: {
show: true,
},
name: 'goodId',
layVerify: 'required',
layVerType: 'msg',
filterable: true,
radio: true,
clickClose: true,
paging: true,
pageSize: 10,
prop: {
name: 'title',
value: 'value',
},
height: '500',
disabled: true,
data: d.params.data.goods,
initValue: [d.params.data.model.goodId],
on: function (data) {
//arr: 当前多选已选中的数据
var arr = data.arr;
//change, 此次选择变化的数据,数组
var change = data.change;
//isAdd, 此次操作是新增还是删除
var isAdd = data.isAdd;
getProducts(arr[0].value);
console.log(data);
//可以return一个数组, 代表想选中的数据
//return []
},
})
function getProducts(goodId) {
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/Tools/GetProducts", { id: goodId }, function (e) {
console.log(e)
if (e.code === 0) {
var data = {
list: e.data,
agentGrade: d.params.data.agentGrade,
allNew: d.params.data.allNew
}
var getTpl = productBoxTmp.innerHTML, view = document.getElementById('productBox');
laytpl(getTpl).render(data, function (html) {
view.innerHTML = html;
});
form.render();
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
}
var data = {
list: d.params.data.products,
agentGrade: d.params.data.agentGrade,
agentProducts: d.params.data.agentProducts,
allNew: d.params.data.allNew
}
var getTpl = productBoxTmp.innerHTML, view = document.getElementById('productBox');
laytpl(getTpl).render(data, function (html) {
view.innerHTML = html;
});
form.verify({
});
//重载form
form.render(null, 'LAY-app-CoreCmsAgentGoods-editForm');
})
};
</script>

View File

@@ -0,0 +1,412 @@
<title>代理商品池</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAgentGoods/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsAgentGoods-tableBox" lay-filter="LAY-app-CoreCmsAgentGoods-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsAgentGoods-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isEnable">
<option value="">请选择是否启用</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsAgentGoods-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="updateTime" id="searchTime-CoreCmsAgentGoods-updateTime" placeholder="请输入最后更新时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsAgentGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAgentGoods-pagebar">
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAgentGoods-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-xs" lay-event="edit" id="brn-{{d.id}}">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsAgentGoodsTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsAgentGoodsTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除吗
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsAgentGoods-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsAgentGoods-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsAgentGoods-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAgentGoods/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsAgentGoods-toolbar',
pagebar: '#LAY-app-CoreCmsAgentGoods-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'goodId', title: '商品序列', sort: false, width: 80 },
{
field: 'goodImage', title: '缩略图', width: 70, sort: false,
templet: function (d) {
if (d.goodImage) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.goodImage + '")><image style="max-width:30px;max-height:30px;" src="' + d.goodImage + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'goodName', title: '商品名称', sort: false },
{ field: 'sortId', title: '排序', sort: false, width: 60 },
{
field: 'isEnable', title: '是否需要同步', width: 95, templet: function (d) {
if (d.goodRefreshTime == d.goodUpdateTime) {
return "<button type='button' class='layui-btn layui-btn-xs layui-btn-disabled'>否</button>";
} else {
return "<button type='button' class='layui-btn layui-btn-xs layui-btn-danger'>请立即同步</button>";
}
}
},
{ field: 'isEnable', title: '是否启用', width: 95, templet: '#switch_isEnable', sort: false, unresize: true },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '最后更新时间', width: 130, sort: false },
{ width: 140, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsAgentGoods-tableBox-bar' }
]
]
});
laydate.render({
elem: '#searchTime-CoreCmsAgentGoods-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsAgentGoods-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
//监听排序事件
table.on('sort(LAY-app-CoreCmsAgentGoods-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsAgentGoods-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsAgentGoods-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsAgentGoods-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsAgentGoods-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsAgentGoods/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '添加代理商品',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAgentGoods-create',
success: function (layero, index) {
view(this.id).render('agent/agentGoods/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAgentGoods-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
console.log(field);
field.isEnable = field.isEnable == 'on';
var good = {
goodId: field.goodId,
sortId: field.sortId,
isEnable: field.isEnable,
}
var postData = {};
postData.good = good;
var keys = Object.keys(field);
var keysCount = 0;
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf('agentGradePrice') != -1) {
keysCount++;
}
}
//多参数产品库生成列表集合
var products = [];
if (keysCount > 0) {
for (var i = 0; i < keysCount; i++) {
var productModel = {};
productModel.goodId = field['goodId[' + i + ']'];
productModel.productId = field['productId[' + i + ']'];
productModel.productCostPrice = field['productCostPrice[' + i + ']'];
productModel.productPrice = field['productPrice[' + i + ']'];
productModel.agentGradeId = field['agentGradeId[' + i + ']'];
productModel.agentGradePrice = field['agentGradePrice[' + i + ']'];
products.push(productModel);
}
} else {
layer.msg('请设置货品价格体系')
return false;
}
postData.products = products;
if (debug) { console.log(postData); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAgentGoods/DoCreate", postData, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAgentGoods-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAgentGoods-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsAgentGoods/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAgentGoods-edit',
success: function (layero, index) {
view(this.id).render('agent/agentGoods/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAgentGoods-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isEnable = field.isEnable == 'on';
var good = {
id: field.id,
goodId: field.goodId,
sortId: field.sortId,
isEnable: field.isEnable,
}
var postData = {};
postData.good = good;
var keys = Object.keys(field);
var keysCount = 0;
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf('agentGradePrice') != -1) {
keysCount++;
}
}
//多参数产品库生成列表集合
var products = [];
if (keysCount > 0) {
for (var i = 0; i < keysCount; i++) {
var productModel = {};
productModel.goodId = field['goodId[' + i + ']'];
productModel.productId = field['productId[' + i + ']'];
productModel.productCostPrice = field['productCostPrice[' + i + ']'];
productModel.productPrice = field['productPrice[' + i + ']'];
productModel.agentGradeId = field['agentGradeId[' + i + ']'];
productModel.agentGradePrice = field['agentGradePrice[' + i + ']'];
products.push(productModel);
}
} else {
layer.msg('请设置货品价格体系')
return false;
}
postData.products = products;
if (debug) { console.log(postData); } //开启调试返回数据
if (debug) { console.log(postData); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAgentGoods/DoEdit", postData, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAgentGoods-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAgentGoods-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsAgentGoods/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAgentGoods-details',
success: function (layero, index) {
view(this.id).render('agent/agentGoods/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsAgentGoods/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAgentGoods-tableBox');
layer.msg(e.msg);
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isEnable)', function (obj) {
coreHelper.Post("Api/CoreCmsAgentGoods/DoSetisEnable", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsAgentGoods-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否启用-->
<script type="text/html" id="switch_isEnable">
<input type="checkbox" name="switch_isEnable" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isEnable" {{ d.isEnable ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,87 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAgentGrade-createForm" id="LAY-app-CoreCmsAgentGrade-createForm">
<div class="layui-form-item">
<label for="name" class="layui-form-label ">等级名称</label>
<div class="layui-input-block">
<input name="name" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入等级名称" placeholder="请输入等级名称" />
</div>
</div>
<div class="layui-form-item" pane>
<label for="isDefault" class="layui-form-label ">是否默认等级</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isDefault" lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item" pane>
<label for="isAutoUpGrade" class="layui-form-label ">是否自动升级</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isAutoUpGrade" lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item">
<label for="defaultSalesPriceType" class="layui-form-label ">价格加成方式</label>
<div class="layui-input-block">
<select name="defaultSalesPriceType" lay-verify="required" lay-reqText="请选择价格加成方式">
<option value="">请选择升级条件</option>
{{# layui.each(d.params.data.agentDefaultSalesPriceType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="defaultSalesPriceNumber" class="layui-form-label ">价格加成值</label>
<div class="layui-input-block">
<input type="number" min="0" max="999999" name="defaultSalesPriceNumber" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入价格加成值" lay-reqText="请输入价格加成值并为数字" />
</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label ">等级排序</label>
<div class="layui-input-block">
<input type="number" min="0" max="999999" name="sortId" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入等级排序" lay-reqText="请输入等级排序并为数字" />
</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="description" class="layui-form-label ">等级说明</label>
<div class="layui-input-block">
<textarea name="description" lay-verify="required|verifydescription" class="layui-textarea" lay-reqText="请输入等级说明" placeholder="请输入等级说明" />
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAgentGrade-createForm-submit" id="LAY-app-CoreCmsAgentGrade-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^.{0,50}$/, '等级名称最大只允许输入50位字符'],
verifydescription: [/^.{0,500}$/, '等级说明最大只允许输入500位字符'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAgentGrade-createForm');
})
};
</script>

View File

@@ -0,0 +1,89 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAgentGrade-editForm" id="LAY-app-CoreCmsAgentGrade-editForm">
<input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label ">等级名称</label>
<div class="layui-input-block">
<input name="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入等级名称" lay-reqText="请输入等级名称" value="{{d.params.data.model.name || '' }}" />
</div>
</div>
<div class="layui-form-item" pane>
<label for="isDefault" class="layui-form-label ">是否默认等级</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isDefault" {{ d.params.data.model.isDefault ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item" pane>
<label for="isAutoUpGrade" class="layui-form-label ">是否自动升级</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isAutoUpGrade" {{ d.params.data.model.isAutoUpGrade ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item">
<label for="defaultSalesPriceType" class="layui-form-label ">价格加成方式</label>
<div class="layui-input-block">
<select name="defaultSalesPriceType" lay-verify="required" lay-reqText="请选择价格加成方式">
<option value="">请选择升级条件</option>
{{# layui.each(d.params.data.agentDefaultSalesPriceType, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==d.params.data.model.defaultSalesPriceType?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="defaultSalesPriceNumber" class="layui-form-label ">价格加成值</label>
<div class="layui-input-block">
<input type="number" min="0" max="999999" name="defaultSalesPriceNumber" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.defaultSalesPriceNumber || '' }}" placeholder="请输入价格加成值" lay-reqText="请输入价格加成值并为数字" />
</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label ">等级排序</label>
<div class="layui-input-block">
<input type="number" min="0" max="999999" name="sortId" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sortId || '' }}" placeholder="请输入等级排序" lay-reqText="请输入等级排序并为数字" />
</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="description" class="layui-form-label ">等级说明</label>
<div class="layui-input-block">
<textarea name="description" lay-verify="required|verifydescription" class="layui-textarea" lay-reqText="请输入等级说明" placeholder="请输入等级说明">{{d.params.data.model.description || '' }}</textarea>
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAgentGrade-editForm-submit" id="LAY-app-CoreCmsAgentGrade-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^.{0,50}$/, '等级名称最大只允许输入50位字符'],
verifydescription: [/^.{0,500}$/, '等级说明最大只允许输入500位字符'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAgentGrade-editForm');
})
};
</script>

View File

@@ -0,0 +1,271 @@
<title>代理商等级设置表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAgentGrade/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsAgentGrade-tableBox" lay-filter="LAY-app-CoreCmsAgentGrade-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsAgentGrade-toolbar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAgentGrade-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsAgentGradeTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsAgentGradeTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除吗
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsAgentGrade-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsAgentGrade-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAgentGrade/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsAgentGrade-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 50, sort: false },
{ field: 'name', title: '等级名称', sort: false, width: 105 },
{ field: 'isDefault', title: '是否默认等级', width: 95, templet: '#switch_isDefault', sort: false, unresize: true },
{ field: 'isAutoUpGrade', title: '是否自动升级', width: 95, templet: '#switch_isAutoUpGrade', sort: false, unresize: true },
{
field: 'defaultSalesPriceType', title: '价格加成方式', sort: false, width: 105, templet: function (data) {
for (var i = 0; i < d.data.agentDefaultSalesPriceType.length; i++) {
if (data.defaultSalesPriceType == d.data.agentDefaultSalesPriceType[i].value) {
return d.data.agentDefaultSalesPriceType[i].description;
}
}
return "";
}
},
{ field: 'defaultSalesPriceNumber', title: '价格加成值', sort: false, width: 105 },
{ field: 'sortId', title: '等级排序(等级排序越大,等级越高)', sort: false, width: 240 },
{ field: 'description', title: '等级说明', sort: false },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsAgentGrade-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsAgentGrade-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('toolbar(LAY-app-CoreCmsAgentGrade-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsAgentGrade-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsAgentGrade/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['400px', '560px'],
id: 'LAY-popup-CoreCmsAgentGrade-create',
success: function (layero, index) {
view(this.id).render('agent/agentGrade/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAgentGrade-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDefault = field.isDefault == 'on';
field.isAutoUpGrade = field.isAutoUpGrade == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAgentGrade/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
/*$(layero).children('.layui-layer-content').css('overflow', 'visible');*/
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAgentGrade-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsAgentGrade/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['400px', '560px'],
id: 'LAY-popup-CoreCmsAgentGrade-edit',
success: function (layero, index) {
view(this.id).render('agent/agentGrade/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAgentGrade-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDefault = field.isDefault == 'on';
field.isAutoUpGrade = field.isAutoUpGrade == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAgentGrade/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAgentGrade-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsAgentGrade/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox');
layer.msg(e.msg);
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isDefault)', function (obj) {
coreHelper.Post("Api/CoreCmsAgentGrade/DoSetisDefault", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isAutoUpGrade)', function (obj) {
coreHelper.Post("Api/CoreCmsAgentGrade/DoSetisAutoUpGrade", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAgentGrade-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否默认等级-->
<script type="text/html" id="switch_isDefault">
<input type="checkbox" name="switch_isDefault" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDefault" {{ d.isDefault ? 'checked' : '' }}>
</script>
<!--设置是否自动升级-->
<script type="text/html" id="switch_isAutoUpGrade">
<input type="checkbox" name="switch_isAutoUpGrade" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isAutoUpGrade" {{ d.isAutoUpGrade ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,117 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsAgentOrder-detailsForm" id="LAY-app-CoreCmsAgentOrder-detailsForm">
<colgroup>
<col width="100">
<col>
</colgroup>
<tbody>
<tr>
<td>
<label for="id">序列</label>
</td>
<td>
{{ d.params.data.id || '' }}
</td>
</tr>
<tr>
<td>
<label for="userId">用户代理商id</label>
</td>
<td>
{{ d.params.data.userId || '' }}
</td>
</tr>
<tr>
<td>
<label for="buyUserId">下单用户id</label>
</td>
<td>
{{ d.params.data.buyUserId || '' }}
</td>
</tr>
<tr>
<td>
<label for="orderId">订单编号</label>
</td>
<td>
{{ d.params.data.orderId || '' }}
</td>
</tr>
<tr>
<td>
<label for="amount">结算金额</label>
</td>
<td>
{{ d.params.data.amount || '' }}
</td>
</tr>
<tr>
<td>
<label for="isSettlement">是否结算</label>
</td>
<td>
{{ d.params.data.isSettlement || '' }}
</td>
</tr>
<tr>
<td>
<label for="level">层级</label>
</td>
<td>
{{ d.params.data.level || '' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.createTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.updateTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="isDelete">是否删除</label>
</td>
<td>
<input type="checkbox" disabled name="isDelete" value="{{d.params.data.isDelete}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isDelete" {{ d.params.data.isDelete ? 'checked' : '' }}>
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsAgentOrder-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,275 @@
<title>代理商订单记录表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAgentOrder/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsAgentOrder-tableBox" lay-filter="LAY-app-CoreCmsAgentOrder-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsAgentOrder-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="distributorName" placeholder="请输入用户代理商" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="buyUserNickName" placeholder="请输入下单用户" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="orderId" placeholder="请输入订单编号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isSettlement">
<option value="">请选择是否结算</option>
{{# layui.each(indexData.agentOrderSettlementStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isDelete">
<option value="">请选择代理用户层级</option>
<option value="1">一级用户</option>
<option value="2">二级用户</option>
<option value="3">三级用户</option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsAgentOrder-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsAgentOrder-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAgentOrder-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAgentOrder-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'dropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsAgentOrder-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsAgentOrder-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsAgentOrder-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsAgentOrder-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsAgentOrder-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAgentOrder/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsAgentOrder-toolbar',
pagebar: '#LAY-app-CoreCmsAgentOrder-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
totalRow: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 80, sort: false },
{ field: 'userId', title: '用户代理商', sort: false, templet: function (data) { return data.distributorName + "" + data.userId + "" } },
{ field: 'buyUserId', title: '下单用户', sort: false, templet: function (data) { return data.buyUserNickName + "" + data.buyUserId + "" } },
{ field: 'orderId', title: '订单编号', sort: false },
{ field: 'amount', title: '结算金额', sort: false, width: 105, totalRow: true, templet: function (data) { return '¥' + data.amount } },
{
field: 'isSettlement', title: '是否结算', sort: false, width: 80, templet: function (data) {
for (var i = 0; i < d.data.agentOrderSettlementStatus.length; i++) {
if (d.data.agentOrderSettlementStatus[i].value == data.isSettlement) {
return d.data.agentOrderSettlementStatus[i].description;
}
}
}
},
{ field: 'level', title: '代理用户层级', sort: false, width: 105 },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
//{ field: 'isDelete', title: '是否删除', width: 95, templet: '#switch_isDelete', sort: false, unresize: true },
{ width: 60, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsAgentOrder-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsAgentOrder-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsAgentOrder-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsAgentOrder-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsAgentOrder-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'selectExportExcel':
doSelectExportExcel(checkStatus);
break;
case 'queryExportExcel':
doQueryExportexcel();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsAgentOrder-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsAgentOrder/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['1000px', '500px'],
id: 'LAY-popup-CoreCmsAgentOrder-details',
success: function (layero, index) {
view(this.id).render('agent/agentOrder/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsAgentOrder/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAgentOrder-tableBox');
layer.msg(e.msg);
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsAgentOrder/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsAgentOrder/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
});
};
</script>

View File

@@ -0,0 +1,152 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsAgent-detailsForm" id="LAY-app-CoreCmsAgent-detailsForm">
<colgroup>
<col width="150">
<col>
</colgroup>
<tbody>
<tr>
<td style="width: 20%;">
<label for="id">序列</label>
</td>
<td style="width: 30%;">
{{ d.params.data.model.id || '' }}
</td>
<td style="width: 20%;">
<label for="userId">申请用户</label>
</td>
<td style="width: 30%;">
{{ d.params.data.model.userId || '' }}
</td>
</tr>
<tr>
<td>
<label for="name">代理商名称</label>
</td>
<td>
{{ d.params.data.model.name || '' }}
</td>
<td>
<label for="gradeId">代理等级</label>
</td>
<td>
{{# layui.each(d.params.data.grades, function(index, item){ }}
{{# if(item.id === d.params.data.model.gradeId){ }}
<button class="layui-btn layui-btn-xs">{{ item.name }}</button>
{{# } }}
{{# }); }}
</td>
</tr>
<tr>
<td>
<label for="mobile">手机号</label>
</td>
<td>
{{ d.params.data.model.mobile || '' }}
</td>
<td>
<label for="weixin">微信号</label>
</td>
<td>
{{ d.params.data.model.weixin || '' }}
</td>
</tr>
<tr>
<td>
<label for="qq">qq号</label>
</td>
<td colspan="3">
{{ d.params.data.model.qq || '' }}
</td>
</tr>
<tr>
<td>
<label for="storeName">店铺名称</label>
</td>
<td colspan="3">
{{ d.params.data.model.storeName || '' }}
</td>
</tr>
<tr>
<td>
<label for="storeLogo">店铺Logo</label>
</td>
<td>
<img src=" {{ d.params.data.model.storeLogo ? d.params.data.model.storeLogo:'/static/images/common/empty-banner.png' }}" />
</td>
<td>
<label for="storeBanner">店铺Banner</label>
</td>
<td>
<img src=" {{ d.params.data.model.storeBanner ? d.params.data.model.storeBanner:'/static/images/common/empty-banner.png' }}" />
</td>
</tr>
<tr>
<td>
<label for="storeDesc">店铺简介</label>
</td>
<td colspan="3">
{{ d.params.data.model.storeDesc || '' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.model.createTime || '' }}
</td>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.model.updateTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="verifyStatus">审核状态</label>
</td>
<td>
{{# layui.each(d.params.data.agentVerifyStatus, function(index, item){ }}
{{# if(item.value === d.params.data.model.verifyStatus){ }}
<button class="layui-btn layui-btn-xs">{{ item.description }}</button>
{{# } }}
{{# }); }}
</td>
<td>
<label for="verifyTime">审核时间</label>
</td>
<td>
{{ d.params.data.model.verifyTime || '' }}
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsAgent-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,96 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAgent-editForm" id="LAY-app-CoreCmsAgent-editForm">
<input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
<input type="hidden" name="userId" value="{{d.params.data.model.userId || '' }}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label layui-form-required">代理商名称</label>
<div class="layui-input-inline">
<input name="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" placeholder="请输入代理商名称" lay-reqText="请输入代理商名称" value="{{d.params.data.model.name || '' }}" />
</div>
<label for="mobile" class="layui-form-label layui-form-required">手机号</label>
<div class="layui-input-inline">
<input name="mobile" lay-verType="tips" lay-verify="required|phone" class="layui-input" placeholder="请输入手机号" lay-reqText="请输入手机号" value="{{d.params.data.model.mobile || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="weixin" class="layui-form-label layui-form-required">微信号</label>
<div class="layui-input-inline">
<input name="weixin" lay-verType="tips" lay-verify="required|verifyweixin" class="layui-input" placeholder="请输入微信号" lay-reqText="请输入微信号" value="{{d.params.data.model.weixin || '' }}" />
</div>
<label for="qq" class="layui-form-label layui-form-required">qq号</label>
<div class="layui-input-inline">
<input name="qq" lay-verType="tips" lay-verify="required|number" class="layui-input" placeholder="请输入qq号" lay-reqText="请输入qq号" value="{{d.params.data.model.qq || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="gradeId" class="layui-form-label layui-form-required">代理等级</label>
<div class="layui-input-inline">
<select name="gradeId" id="gradeId">
<option value="">请选择</option>
{{# layui.each(d.params.data.grades, function(index, item){ }}
<option value="{{ item.id }}" {{item.id==d.params.data.model.gradeId?'selected="selected"':''}}>{{ item.name }}</option>
{{# }); }}
</select>
</div>
<label for="verifyStatus" class="layui-form-label layui-form-required">审核状态</label>
<div class="layui-input-inline">
<select name="verifyStatus" id="verifyStatus">
<option value="">请选择</option>
{{# layui.each(d.params.data.agentVerifyStatus, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==d.params.data.model.verifyStatus?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAgent-editForm-submit" id="LAY-app-CoreCmsAgent-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
laydate.render({
elem: '#editTime-CoreCmsAgent-createTime',
type: 'datetime'
});
laydate.render({
elem: '#editTime-CoreCmsAgent-updateTime',
type: 'datetime'
});
laydate.render({
elem: '#editTime-CoreCmsAgent-verifyTime',
type: 'datetime'
});
form.verify({
verifyname: [/^[\S]{0,255}$/, '代理商名称最大只允许输入255位字符且不能出现空格'],
verifymobile: [/^[\S]{0,50}$/, '手机号最大只允许输入50位字符且不能出现空格'],
verifyweixin: [/^[\S]{0,50}$/, '微信号最大只允许输入50位字符且不能出现空格'],
verifyqq: [/^[\S]{0,50}$/, 'qq号最大只允许输入50位字符且不能出现空格'],
verifystoreName: [/^[\S]{0,255}$/, '店铺名称最大只允许输入255位字符且不能出现空格'],
verifystoreLogo: [/^[\S]{0,255}$/, '店铺Logo最大只允许输入255位字符且不能出现空格'],
verifystoreBanner: [/^[\S]{0,255}$/, '店铺Banner最大只允许输入255位字符且不能出现空格'],
verifystoreDesc: [/^[\S]{0,255}$/, '店铺简介最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAgent-editForm');
})
};
</script>

View File

@@ -0,0 +1,309 @@
<title>代理商表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAgent/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsAgent-tableBox" lay-filter="LAY-app-CoreCmsAgent-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsAgent-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" placeholder="请输入代理商名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="mobile" placeholder="请输入手机号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="weixin" placeholder="请输入微信号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="qq" placeholder="请输入qq号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="storeName" placeholder="请输入店铺名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="verifyStatus">
<option value="">请选择审核状态</option>
{{# layui.each(indexData.agentVerifyStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="gradeId">
<option value="">请选择代理等级</option>
{{# layui.each(indexData.grades, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsAgent-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAgent-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsAgentTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsAgentTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除{{d.name}}
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$, admin = layui.admin, table = layui.table, form = layui.form, laydate = layui.laydate, setter = layui.setter, coreHelper = layui.coreHelper, util = layui.util, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsAgent-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsAgent-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsAgent-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAgent/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsAgent-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'userId', title: '申请用户', sort: false, width: 65 },
{ field: 'name', title: '代理商名称', sort: false, width: 105 },
{
field: 'gradeId', title: '代理等级', sort: false, width: 105, templet: function (data) {
for (var i = 0; i < d.data.grades.length; i++) {
if (d.data.grades[i].id == data.gradeId) {
return d.data.grades[i].name;
}
}
}
},
//{ field: 'gradeId', title: '代理等级', sort: false, width: 105 },
{ field: 'mobile', title: '手机号', sort: false, width: 90 },
{ field: 'weixin', title: '微信号', sort: false, width: 90 },
{ field: 'qq', title: 'qq号', sort: false, width: 90 },
{ field: 'storeName', title: '店铺名称', sort: false },
{
field: 'storeLogo', title: 'Logo', sort: false, width: 60, templet: function (d) {
if (d.storeLogo) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.storeLogo + '")><image style="max-width:28px;max-height:28px;" src="' + d.storeLogo + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{
field: 'storeBanner', title: 'Banner', sort: false, width: 60, templet: function (d) {
if (d.storeBanner) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.storeBanner + '")><image style="max-width:28px;max-height:28px;" src="' + d.storeBanner + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
//{ field: 'storeDesc', title: '店铺简介', sort: false, width: 105 },
{
field: 'verifyStatus', title: '审核状态', sort: false, width: 80, templet: function (data) {
for (var i = 0; i < d.data.agentVerifyStatus.length; i++) {
if (d.data.agentVerifyStatus[i].value == data.verifyStatus) {
return d.data.agentVerifyStatus[i].description;
}
}
}
},
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ field: 'verifyTime', title: '审核时间', width: 130, sort: false },
//{ field: 'isDelete', title: '是否删除', width: 95, templet: '#switch_isDelete', sort: false, unresize: true },
{ width: 142, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsAgent-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsAgent-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsAgent-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsAgent-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//监听工具条
table.on('tool(LAY-app-CoreCmsAgent-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsAgent/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['640px', '300px'],
id: 'LAY-popup-CoreCmsAgent-edit',
success: function (layero, index) {
view(this.id).render('agent/agents/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAgent-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDelete = field.isDelete == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAgent/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAgent-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAgent-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsAgent/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['700px', '550px'],
id: 'LAY-popup-CoreCmsAgent-details',
success: function (layero, index) {
view(this.id).render('agent/agents/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
//console.log(obj.data.id);
coreHelper.Post("Api/CoreCmsAgent/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAgent-tableBox');
layer.msg(e.msg);
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isDelete)', function (obj) {
coreHelper.Post("Api/CoreCmsAgent/DoSetisDelete", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsAgent-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否删除-->
<script type="text/html" id="switch_isDelete">
<input type="checkbox" name="switch_isDelete" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDelete" {{ d.isDelete ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,305 @@
<title>标题</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
.layui-form-item label { width: 140px; }
.classifyimg { margin-bottom: 20px; width: 672px !important; }
.classifyimg-item { display: inline-block; width: 140px; }
.classifyimg img { width: 100px; display: block; }
.classifyimg .layui-form-radio { vertical-align: top; display: block; margin-bottom: 10px; }
.image_storage_type .item { display: none; }
.layui-elem-quote { margin: 10px; }
.layui-tab-content { padding: 15px 0; }
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAgentSetting/GetIndex" lay-done="layui.data.done(d);">
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-tab layui-tab-card" lay-filter="setting">
<ul class="layui-tab-title">
<li lay-id="agentSet" class="layui-this">代理设置</li>
<li lay-id="userAgreement ">用户须知</li>
<li lay-id="agentAgreement">代理协议</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['isOpenAgent']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="isOpenAgent" name="isOpenAgent" value="1" title="开启" {{d.data.configs['isOpenAgent']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="isOpenAgent" name="isOpenAgent" value="2" title="不开启" {{d.data.configs['isOpenAgent']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['isShowAgentPortal']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="isShowAgentPortal" name="isShowAgentPortal" value="1" title="开启" {{d.data.configs['isShowAgentPortal']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="isShowAgentPortal" name="isShowAgentPortal" value="2" title="不开启" {{d.data.configs['isShowAgentPortal']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['isAllowProcurementService']['sKey']}}</label>
<div class="layui-input-inline layui-inline-4">
<input type="radio" lay-filter="isAllowProcurementService" name="isAllowProcurementService" value="1" title="开启" {{d.data.configs['isAllowProcurementService']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="isAllowProcurementService" name="isAllowProcurementService" value="2" title="不开启" {{d.data.configs['isAllowProcurementService']['sValue']==="2" ? 'checked':''}}>
</div>
<div class="layui-form-mid">开启此功能代理商自己下单也将直接计算利润提成</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="save">保存更改</button>
</div>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-fluid">
<div class="layui-row">
<div class="layui-col-md12">
<div class="document-editor">
<div class="toolbar-container" id="agentNotes-toolbar-container"></div>
<div class="content-container">
<div id="agentNotes" class="core-editor"></div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="saveEditor">保存更改</button>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-fluid">
<div class="layui-row">
<div class="layui-col-md12">
<div class="document-editor">
<div class="toolbar-container" id="agentAgreement-toolbar-container"></div>
<div class="content-container">
<div id="agentAgreement" class="core-editor"></div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="saveEditor">保存更改</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['admin', 'form', 'coreHelper', 'element', 'table', 'util', 'view', 'table', 'cropperImg'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form
, element = layui.element
, table = layui.table
, util = layui.util
, view = layui.view
, cropperImg = layui.cropperImg
, router = layui.router()
, search = router.search;
form.render();
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#agentNotes'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#agentNotes-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['agentNotes']['sValue']);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
DecoupledEditor
.create(document.querySelector('#agentAgreement'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#agentAgreement-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['agentAgreement']['sValue']);
window.editor2 = editor;
})
.catch(error => {
console.error(error);
});
form.verify({
money: [/((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, '请输入合法整数或小数'],
});
//保存数据
form.on('submit(save)', function (data) {
formData = data.field;
if (!formData) {
layer.msg('请先完善数据', {
time: 1300
});
return false;
}
var field = data.field;
var keys = Object.keys(field);
var postData = [];
for (var i = 0; i < keys.length; i++) {
var keyName = Object.keys(field)[i];
var entity = {};
entity.sKey = keyName;
entity.sValue = field[keyName];
postData.push(entity);
}
console.log(postData);
coreHelper.Post("Api/CoreCmsAgentSetting/DoSave", { entity: postData }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
layer.msg(e.msg);
});
});
//保存编辑器数据
form.on('submit(saveEditor)', function (data) {
formData = data.field;
var field = data.field;
var keys = Object.keys(field);
var postData = [];
var agentNotes = window.editor.getData();
if (!!!agentNotes) {
layer.msg(d.data.configs['agentNotes']['sKey'] + '不能为空', { icon: 5 });
return false;
} else {
var entity = {};
entity.sKey = 'agentNotes';
entity.sValue = agentNotes;
postData.push(entity);
}
var agentAgreement = window.editor2.getData();
if (!!!agentAgreement) {
layer.msg(d.data.configs['agentAgreement']['sKey'] + '不能为空', { icon: 5 });
return false;
} else {
var entity = {};
entity.sKey = 'agentAgreement';
entity.sValue = agentAgreement;
postData.push(entity);
}
console.log(postData);
coreHelper.Post("Api/CoreCmsAgentSetting/DoSave", { entity: postData }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
layer.msg(e.msg);
});
});
});
}
</script>

View File

@@ -0,0 +1,66 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsArticleType-tableBox" lay-filter="LAY-app-CoreCmsArticleType-tableBox"></table>
</div>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'treeTable'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, treeTable = layui.treeTable
, view = layui.view;
//重载form
form.render();
var searchwhere;
//数据绑定
var insTb = treeTable.render({
elem: '#LAY-app-CoreCmsArticleType-tableBox',
tree: {
iconIndex: 1,
idName: 'id', // id的字段名
pidName: 'parentId', // pid的字段名
openName: 'name',
isPidData: true
},
height: 'full-232',//无面包屑127,搜索框189,1行62
cols: [
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '分类名称', sort: false },
{ field: 'sort', title: '排序 ', sort: false, width: 105 },
{ width: 140, title: '操作', align: 'center', toolbar: '#articleTypeBar' }
],
reqData: function (data, callback) {
coreHelper.Post('Api/Tools/GetArticleTypes', null, function (res) {
if (res.code === 0) {
callback(res.data);
} else {
layer.msg(res.msg, { icon: 5, time: 2000 });
}
})
},
style: 'margin-top:0;'
});
});
};
</script>
<script type="text/html" id="articleTypeBar">
<a class="layui-btn layui-btn-xs" lay-event="selectType">选择</a>
</script>

View File

@@ -0,0 +1,79 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getArticles-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="title">标题</label>
<div class="layui-input-inline">
<input type="text" name="title" id="title" placeholder="请输入标题" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsArticle-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="table-body noDefaultToolbar">
<table id="LAY-app-CoreCmsArticle-ArticleTable-TableBox" lay-filter="LAY-app-CoreCmsArticle-ArticleTable-TableBox"></table>
</div>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsArticle-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsArticle-ArticleTable-TableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsArticle-ArticleTable-TableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetArticles',
toolbar:'#LAY-app-getArticles-toolbar',
method: 'POST',
defaultToolbar: ['filter', 'print', 'exports'],
height: '380px',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'title', title: '标题', sort: false },
{ width: 150, title: '操作', align: 'center', toolbar: '#articleBar' }
]
]
});
});
};
</script>
<script type="text/html" id="articleBar">
<a class="layui-btn layui-btn-xs" lay-event="selectArticle">选择</a>
</script>

View File

@@ -0,0 +1,82 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getForms-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">表单名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入表单名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsForm-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsForm-FormTable-TableBox" lay-filter="LAY-app-CoreCmsForm-FormTable-TableBox"></table>
</div>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsForm-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsForm-FormTable-TableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsForm-FormTable-TableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetForms',
method: 'POST',
toolbar:'#LAY-app-getForms-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: '380px',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '表单名称', sort: false, width: 105 },
{ field: 'type', title: '表单类型', sort: false, width: 105 },
{ width: 150, title: '操作', align: 'center', toolbar: '#formBar' }
]
]
});
});
};
</script>
<script type="text/html" id="formBar">
<a class="layui-btn layui-btn-xs" lay-event="selectform">选择</a>
</script>

View File

@@ -0,0 +1,122 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getGoodAndSku-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsGoods-getData" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsGoods-tableBox" lay-filter="LAY-app-CoreCmsGoods-tableBox"></table>
</div>
<script>
var ids = {};
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'table'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, table = layui.table
, view = layui.view;
if (d.params.data) {
ids = d.params.data;
console.log(ids);
}
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsGoods-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsGoods-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsGoods-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetGoodAndSku',
method: 'POST',
toolbar: '#LAY-app-getGoodAndSku-toolbar',
defaultToolbar: null,
height: '430',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "radio", fixed: "left" },
{ field: 'id', title: '商品ID', width: 60, sort: false },
{ field: 'name', title: '商品名称', sort: false },
{
field: 'image', title: '图集', width: 60, sort: false,
templet: function (d) {
if (d.image) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.image + '")><image style="max-width:28px;max-height:28px;" src="' + d.image + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids.id == res.data[i].id) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
console.log(index);
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="radio"]').prop('checked', true);
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] ').addClass('layui-table-click');
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="radio"]').next().addClass('layui-form-radioed');
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] .layui-anim').addClass('layui-anim-scaleSpring');
}
}
form.render();
}
});
//监听表格复选框选择
layui.table.on('radio(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
ids = obj.data;
console.log(ids);
});
});
};
</script>

View File

@@ -0,0 +1,123 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getGoodId-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsGoods-getData" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsGoods-tableBox" lay-filter="LAY-app-CoreCmsGoods-tableBox"></table>
</div>
<script>
var ids = {};
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'table'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, table = layui.table
, view = layui.view;
if (d.params.data) {
ids = d.params.data;
console.log(ids);
}
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsGoods-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsGoods-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsGoods-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetGoods',
method: 'POST',
toolbar: '#LAY-app-getGoodId-toolbar',
defaultToolbar: null,
height: '430',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "radio", fixed: "left" },
{ field: 'id', title: '商品ID', width: 60, sort: false },
{ field: 'name', title: '商品名称', sort: false },
{
field: 'image', title: '图集', width: 60, sort: false,
templet: function (d) {
if (d.image) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.image + '")><image style="max-width:28px;max-height:28px;" src="' + d.image + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'stock', title: '库存', sort: false, width: 60 },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids.id == res.data[i].id) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
console.log(index);
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="radio"]').prop('checked', true);
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] ').addClass('layui-table-click');
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="radio"]').next().addClass('layui-form-radioed');
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] .layui-anim').addClass('layui-anim-scaleSpring');
}
}
form.render();
}
});
//监听表格复选框选择
layui.table.on('radio(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
ids = obj.data;
console.log(ids);
});
});
};
</script>

View File

@@ -0,0 +1,146 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getGoodIds-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline"><div class="layui-form-mid">您选择了:<span id="selectGoodsNum">0</span></div></div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsGoods-getData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsGoods-tableBox" lay-filter="LAY-app-CoreCmsGoods-tableBox"></table>
</div>
<script>
var ids = {};
var table_data = new Array();
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'table', 'view'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, table = layui.table
, view = layui.view;
if (d.params.data) {
ids = d.params.data;
console.log(ids);
}
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsGoods-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsGoods-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsGoods-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetGoods',
toolbar: '#LAY-app-getGoodIds-toolbar',
method: 'POST',
defaultToolbar: null,
height: 'full-260',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '商品ID', width: 60, sort: false },
{ field: 'name', title: '商品名称', sort: false },
{
field: 'image', title: '图集', width: 60, sort: false,
templet: function (d) {
if (d.image) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.image + '")><image style="max-width:28px;max-height:28px;" src="' + d.image + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'stock', title: '库存', sort: false, width: 60 },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//设置全部数据到全局变量
table_data = res.data;
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids[res.data[i].id]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
var checkStatus = layui.table.checkStatus('tagGoodsTable');
if (checkStatus.isAll) {
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsGoods-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
});
//监听表格复选框选择
layui.table.on('checkbox(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
if (obj.checked) {
if (obj.type == 'one') {
ids[obj.data.id] = obj.data;
} else {
for (var i = 0; i < table_data.length; i++) {
ids[table_data[i].id] = table_data[i];
}
}
} else {
if (obj.type == 'one') {
delete ids[obj.data.id];
} else {
for (var i = 0; i < table_data.length; i++) {
delete ids[table_data[i].id];
}
}
}
$('#selectGoodsNum').html(Object.getOwnPropertyNames(ids).length);
});
});
};
</script>

View File

@@ -0,0 +1,86 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getGoodList-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsGoods-GoodsTable-TableBox" lay-filter="LAY-app-CoreCmsGoods-GoodsTable-TableBox"></table>
</div>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
layui.use(['index', 'table', 'coreHelper', 'table'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, setter = layui.setter
, coreHelper = layui.coreHelper
, table = layui.table;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsGoods-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsGoods-GoodsTable-TableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsGoods-GoodsTable-TableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetGoods',
method: 'POST',
toolbar:'#LAY-app-getGoodList-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: '380px',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '商品ID', width: 80, sort: false },
{ field: 'name', title: '商品名称', sort: false },
{
field: 'images', title: '图集', width: 100, sort: false,
templet: function (d) {
if (d.images) {
var arr = d.images.split(',');
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + arr[0] + '")><image style="max-width:28px;max-height:28px;" src="' + arr[0] + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'stock', title: '库存', sort: false, width: 105 },
{ width: 100, title: '操作', align: 'center', toolbar: '#goodsBar' }
]
]
});
});
};
</script>
<script type="text/html" id="goodsBar">
<a class="layui-btn layui-btn-xs" lay-event="selectGoods">选择</a>
</script>

View File

@@ -0,0 +1,132 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getGroupIds-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入团购(秒杀)名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsPromotion-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline"><div class="layui-form-mid">您选择了:<span id="tagGroupsNum">0</span></div></div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsCommon-GetGroupIds-submit" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsPromotion-tableBox" lay-filter="LAY-app-CoreCmsPromotion-tableBox"></table>
</div>
<script>
var ids = {};
var table_data = new Array();
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsPromotion-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsPromotion-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsPromotion-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/TagPromotions',
method: 'POST',
toolbar: '#LAY-app-getGroupIds-toolbar',
defaultToolbar: null,
where: { types: 3 },
height: 'full-260',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '', width: 60, sort: false },
{ field: 'name', title: '团购(秒杀)名称', sort: false },
{ field: 'sort', title: '权重', sort: false, width: 105 },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//设置全部数据到全局变量
table_data = res.data;
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids[res.data[i].id]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
$('#LAY-app-CoreCmsPromotion-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsPromotion-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
var checkStatus = layui.table.checkStatus('LAY-app-CoreCmsPromotion-tableBox');
if (checkStatus.isAll) {
$('#LAY-app-CoreCmsPromotion-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsPromotion-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
});
//监听表格复选框选择
layui.table.on('checkbox(LAY-app-CoreCmsPromotion-tableBox)', function (obj) {
if (obj.checked) {
if (obj.type == 'one') {
ids[obj.data.id] = obj.data;
} else {
for (var i = 0; i < table_data.length; i++) {
ids[table_data[i].id] = table_data[i];
}
}
//the_val[obj.data.id] = obj.data;
} else {
if (obj.type == 'one') {
delete ids[obj.data.id];
} else {
for (var i = 0; i < table_data.length; i++) {
delete ids[table_data[i].id];
}
}
}
$('#tagGroupsNum').html(Object.getOwnPropertyNames(ids).length);
});
});
};
</script>

View File

@@ -0,0 +1,126 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getNoticeIds-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="title">公告标题</label>
<div class="layui-input-inline">
<input type="text" name="title" id="title" placeholder="请输入公告标题" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsNotice-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline"><div class="layui-form-mid">您选择了:<span id="tagNoticeNum">0</span></div></div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsCommon-GetNoticeIds-submit" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsNotice-tableBox" lay-filter="LAY-app-CoreCmsNotice-tableBox"></table>
</div>
<script>
var ids = {};
var table_data = new Array();
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsNotice-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsNotice-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsNotice-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetNotices',
method: 'POST',
toolbar: '#LAY-app-getNoticeIds-toolbar',
defaultToolbar: null,
height: '380px',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'title', title: '公告标题', sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//设置全部数据到全局变量
table_data = res.data;
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids[res.data[i].id]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
$('#LAY-app-CoreCmsNotice-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsNotice-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
var checkStatus = layui.table.checkStatus('LAY-app-CoreCmsNotice-tableBox');
if (checkStatus.isAll) {
$('#LAY-app-CoreCmsNotice-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsNotice-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
});
//监听表格复选框选择
layui.table.on('checkbox(LAY-app-CoreCmsNotice-tableBox)', function (obj) {
if (obj.checked) {
if (obj.type == 'one') {
ids[obj.data.id] = obj.data;
} else {
for (var i = 0; i < table_data.length; i++) {
ids[table_data[i].id] = table_data[i];
}
}
//the_val[obj.data.id] = obj.data;
} else {
if (obj.type == 'one') {
delete ids[obj.data.id];
} else {
for (var i = 0; i < table_data.length; i++) {
delete ids[table_data[i].id];
}
}
}
$('#tagNoticeNum').html(Object.getOwnPropertyNames(ids).length);
});
});
};
</script>

View File

@@ -0,0 +1,153 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getPingTuanIds-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入活动名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsPinTuanRule-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline"><div class="layui-form-mid">您选择了:<span id="tagGoodsNum">0</span></div></div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsPinTuanRule-tableBox_submit" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsPinTuanRule-tableBox" lay-filter="LAY-app-CoreCmsPinTuanRule-tableBox"></table>
</div>
<script>
var ids = {};
var table_data = new Array();
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsPinTuanRule-startTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsPinTuanRule-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsPinTuanRule-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsPinTuanRule-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/tagPinTuan',
method: 'POST',
toolbar: '#LAY-app-getPingTuanIds-toolbar',
defaultToolbar: null,
height: 'full-260',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: 'checkbox' },
{ field: 'goodsId', title: '商品序列', width: 70, sort: false },
{
field: 'name', title: '活动名称', sort: false, templet: function (data) {
return data.name + "(" + data.peopleNumber + "人团)";
}
},
{
field: 'goodsImage', title: '商品', sort: false,
templet: function (d) {
if (d.goodsImage) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.goodsImage + '")><image style="max-width:28px;max-height:28px;" src="' + d.goodsImage + '" /></a>' + d.goodsName;
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>' + d.goodsName;
}
}
},
//{ field: 'goodsName', title: '商品', align: 'center' },
{ field: '', width: 80, title: '优惠金额', align: 'center', templet: function (data) { return '¥' + data.discountAmount } },
{ field: 'startTime', title: '开始时间', width: 130, sort: false },
{ field: 'endTime', title: '结束时间', width: 130, sort: false },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//设置全部数据到全局变量
table_data = res.data;
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids[res.data[i].id]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
$('#LAY-app-CoreCmsPinTuanRule-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsPinTuanRule-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
var checkStatus = layui.table.checkStatus('LAY-app-CoreCmsPinTuanRule-tableBox');
if (checkStatus.isAll) {
$('#LAY-app-CoreCmsPinTuanRule-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsPinTuanRule-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
});
//监听表格复选框选择
layui.table.on('checkbox(LAY-app-CoreCmsPinTuanRule-tableBox)', function (obj) {
console.log(obj);
if (obj.checked) {
if (obj.type == 'one') {
ids[obj.data.goodsId] = obj.data;
} else {
for (var i = 0; i < table_data.length; i++) {
ids[table_data[i].goodsId] = table_data[i];
}
}
//the_val[obj.data.id] = obj.data;
} else {
if (obj.type == 'one') {
delete ids[obj.data.goodsId];
} else {
for (var i = 0; i < table_data.length; i++) {
delete ids[table_data[i].goodsId];
}
}
}
$('#tagGoodsNum').html(Object.getOwnPropertyNames(ids).length);
});
});
};
</script>

View File

@@ -0,0 +1,146 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getProductsIds-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsProducts-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline"><div class="layui-form-mid">您选择了:<span id="selectGoodsNum">0</span></div></div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsProducts-getData" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsProducts-tableBox" lay-filter="LAY-app-CoreCmsProducts-tableBox"></table>
</div>
<script>
//var ids = {}; //需要调用页面增加ids对象不然无法默认选中。
var table_data = new Array();
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'table'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, table = layui.table
, view = layui.view;
$('#selectGoodsNum').html(Object.getOwnPropertyNames(ids).length);
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsProducts-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsProducts-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsProducts-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/GetProductsPages',
method: 'POST',
toolbar: '#LAY-app-getProductsIds-toolbar',
defaultToolbar: null,
height: 'full-360',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '商品ID', width: 60, sort: false },
{ field: 'name', title: '商品名称', sort: false },
{ field: 'spesDesc', title: '货品SKU', sort: false },
{
field: 'image', title: '图集', width: 60, sort: false,
templet: function (d) {
if (d.images) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.images + '")><image style="max-width:28px;max-height:28px;" src="' + d.images + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'stock', title: '库存', sort: false, width: 60 },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//设置全部数据到全局变量
table_data = res.data;
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids[res.data[i].id]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
$('#LAY-app-CoreCmsProducts-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsProducts-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
var checkStatus = layui.table.checkStatus('tagGoodsTable');
if (checkStatus.isAll) {
$('#LAY-app-CoreCmsProducts-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsProducts-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
});
//监听表格复选框选择
layui.table.on('checkbox(LAY-app-CoreCmsProducts-tableBox)', function (obj) {
if (obj.checked) {
if (obj.type == 'one') {
ids[obj.data.id] = obj.data;
} else {
for (var i = 0; i < table_data.length; i++) {
ids[table_data[i].id] = table_data[i];
}
}
} else {
if (obj.type == 'one') {
delete ids[obj.data.id];
} else {
for (var i = 0; i < table_data.length; i++) {
delete ids[table_data[i].id];
}
}
}
$('#selectGoodsNum').html(Object.getOwnPropertyNames(ids).length);
});
});
};
</script>

View File

@@ -0,0 +1,153 @@
<style>
.warning-msg { }
.warning-msg-content { background-color: #FFFFCC; border: 1px solid #FFFF33; padding: 10px; margin-bottom: 15px; color: #666; }
.warning-msg-content i { display: inline-block; font-size: 16px; margin-right: 5px; color: red; }
.warning-msg-content p { display: inline-block; }
.warning-msg-content a { color: #20a53a; }
.warning-msg-content a:hover { color: #23527c; }
</style>
<body>
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsEnterprise-MapForm" id="LAY-app-CoreCmsEnterprise-MapForm">
<input type="hidden" name="coordinate" value="{{d.params.data.oldData}}">
<div class="layui-form-item">
<label for="tags" class="layui-form-label">请输入地址</label>
<div class="layui-input-inline layui-inline-10">
<input name="tags" class="layui-input" lay-reqText="请输入标签" placeholder="请输入标签" id="place" style="z-index: 99999999" />
</div>
<div class="layui-form-mid" style="padding: 0 !important;float: right">
<button type="button" id="save-map" class="layui-btn" lay-submit lay-filter="formDemo">保存当前位置</button>
</div>
</div>
<div class="layui-form-item layui-form-text">
<div class="layui-input-inline layui-inline-10" id="container" style="min-width: 100%; min-height: 450px;">
</div>
</div>
</div>
</script>
</body>
<script>
var $;
var debug = layui.setter.debug;
var coordinateBoxIdName;
var addressBoxIdName;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
coordinateBoxIdName = d.params.data.coordinateBoxIdName;
addressBoxIdName = d.params.data.addressBoxIdName;
layui.use(['admin', 'form', 'coreHelper'], function () {
$ = layui.$;
var setter = layui.setter, admin = layui.admin, coreHelper = layui.coreHelper, form = layui.form;
var layer = layui.layer;
var cityLocation, map, marker, center = null;
var markerImage = "http://api.map.baidu.com/images/marker_red_sprite.png";
var preLocationCenter = $("input[name=coordinate]").val();
if (preLocationCenter == '') {
cityLocation = new qq.maps.CityService({
complete: function (result) {
center = new qq.maps.LatLng(result.detail.latLng.lat, result.detail.latLng.lng);
setMap(center);
}
});
cityLocation.searchLocalCity();
} else {
var arr = preLocationCenter.split(',');
if (arr.length < 2) {
parent.layer.msg("坐标位置错误");
return false;
}
center = new qq.maps.LatLng(arr[0], arr[1]);
setMap(center);
}
function setMap(center) {
map = new qq.maps.Map(document.getElementById('container'), {
center: center,
zoom: 13
});
var size = new qq.maps.Size(20, 27);
var origin = new qq.maps.Point(0, 0);
var icon = new qq.maps.MarkerImage(markerImage, size, origin);
//创建一个Marker
marker = new qq.maps.Marker({
icon: icon,
position: center,
animation: qq.maps.MarkerAnimation.DOWN,
map: map,
title: '选择企业位置'
});
var jump = function (event) {
marker.setPosition(event.latLng);
};
qq.maps.event.addListener(map, 'click', jump);
//搜索框提示
var ap = new qq.maps.place.Autocomplete(document.getElementById('place'), {
offset: new qq.maps.Size(0, 5),
location: '北京市',
zIndex: 99999999
});
var keyword = "";
//调用Poi检索类。用于进行本地检索、周边检索等服务。
var searchService = new qq.maps.SearchService({
complete: function (results) {
if (results.type === "CITY_LIST") {
searchService.setLocation(results.detail.cities[0].cityName);
searchService.search(keyword);
return;
}
var pois = results.detail.pois;
var latlngBounds = new qq.maps.LatLngBounds();
for (var i = 0, l = pois.length; i < l; i++) {
var poi = pois[i];
latlngBounds.extend(poi.latLng);
var marker = new qq.maps.Marker({
map: map,
position: poi.latLng
});
marker.setTitle(poi.name);
}
map.fitBounds(latlngBounds);
}
});
//添加监听事件
qq.maps.event.addListener(ap, "confirm", function (res) {
console.log('查询地址');
keyword = res.value;
searchService.search(keyword);
});
}
$("#save-map").on('click', function () {
parent.$("#" + coordinateBoxIdName).val(marker.position.lat + ',' + marker.position.lng);
if (addressBoxIdName) {
setName(marker.position.lat, marker.position.lng);
}
//parent.layer.closeAll();
parent.layer.close(layer.index);
});
form.render(null, 'LAY-app-CoreCmsEnterprise-MapForm');
});
};
function setName(lat, lng) {
geocoder = new qq.maps.Geocoder({
complete: function (result) {
parent.$("#"+addressBoxIdName).val(result.detail.address);
}
});
var coord = new qq.maps.LatLng(lat, lng);
geocoder.getAddress(coord);
}
</script>

View File

@@ -0,0 +1,141 @@
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getServiceIds-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">服务名称</label>
<div class="layui-input-inline">
<input type="text" name="title" placeholder="请输入服务名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsService-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline"><div class="layui-form-mid">您选择了:<span id="tagNum">0</span></div></div>
<button class="layui-btn layui-btn-sm float-right" lay-submit lay-filter="LAY-app-CoreCmsService-tableBox_submit" style="float: right"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsService-tableBox" lay-filter="LAY-app-CoreCmsService-tableBox"></table>
</div>
<script>
var ids = {};
var table_data = new Array();
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsService-startTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsService-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsService-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsService-tableBox',
url: layui.setter.apiUrl + 'Api/Tools/tagServices',
method: 'POST',
toolbar: '#LAY-app-getServiceIds-toolbar',
defaultToolbar: null,
height: '380px',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: 'checkbox' },
{ field: 'id', title: '服务id', width: 80, sort: false },
{ field: 'title', title: '服务名称', sort: false },
{ field: 'amount', title: '剩余数量', align: 'center' },
{ field: 'money', width: 100, title: '金额', align: 'center', templet: function (data) { return '¥' + data.money } },
//{ field: 'startTime', title: '开始时间', width: 130, sort: false },
//{ field: 'endTime', title: '结束时间', width: 130, sort: false },
]
],
done: function (res, curr, count) {
//数据表格加载完成时调用此函数
//如果是异步请求数据方式res即为你接口返回的信息。
//如果是直接赋值的方式res即为{data: [], count: 99} data为当前页数据、count为数据总长度
//设置全部数据到全局变量
table_data = res.data;
//在缓存中找到id ,然后设置data表格中的选中状态
//循环所有数据找出对应关系设置checkbox选中状态
for (var i = 0; i < res.data.length; i++) {
if (ids[res.data[i].id]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_TABLE_INDEX'];
$('#LAY-app-CoreCmsService-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsService-tableBox + div .layui-table-body tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
var checkStatus = layui.table.checkStatus('LAY-app-CoreCmsService-tableBox');
if (checkStatus.isAll) {
$('#LAY-app-CoreCmsService-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
$('#LAY-app-CoreCmsService-tableBox + div .layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
});
//监听表格复选框选择
layui.table.on('checkbox(LAY-app-CoreCmsService-tableBox)', function (obj) {
console.log(obj);
if (obj.checked) {
if (obj.type == 'one') {
ids[obj.data.id] = obj.data;
} else {
for (var i = 0; i < table_data.length; i++) {
ids[table_data[i].id] = table_data[i];
}
}
//the_val[obj.data.id] = obj.data;
} else {
if (obj.type == 'one') {
delete ids[obj.data.id];
} else {
for (var i = 0; i < table_data.length; i++) {
delete ids[table_data[i].id];
}
}
}
$('#tagNum').html(Object.getOwnPropertyNames(ids).length);
});
});
};
</script>

View File

@@ -0,0 +1,280 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAdvertisement-createForm" id="LAY-app-CoreCmsAdvertisement-createForm">
<div class="layui-form-item">
<label for="positionId" class="layui-form-label">广告位置</label>
<div class="layui-input-inline">
<select name="positionId" id="positionId" required lay-verify="required" lay-reqText="请输入位置序列" placeholder="请输入位置序列">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertPosition, function(index, item){ }}
<option value="{{ item.id }}">{{ item.name }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="name" class="layui-form-label">广告名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入广告名称" placeholder="请输入广告名称" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过50个字符内容</div>
</div>
<div class="layui-form-item">
<label for="imageUrl" class="layui-form-label">广告图片</label>
<div class="layui-input-inline">
<input name="imageUrl" id="imageUrl" lay-verify="required" class="layui-input" placeholder="请上传广告图片" lay-reqText="请上传广告图片" />
</div>
<div class="layui-input-inline">
<img class="coreshop-upload-img" id="viewImgBoximageUrl" src="{{ layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" lay-active="doCropperImg">上传图片</button>
</div>
</div>
<div class="layui-form-item">
<label for="type" class="layui-form-label">类型</label>
<div class="layui-input-inline">
<select name="type" id="type" required lay-filter="type" lay-verify="required" lay-reqText="请输入类型" placeholder="请输入类型">
<option value="">请选择</option>
{{# layui.each(d.params.data.types, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==2?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div id="div1" style="display: none">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i>广URL</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" id="url" name="url" required placeholder="请输入合法的URL链接,必须以http://开头" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div id="div2" style="display: none">
<input type="hidden" name="goodsId" id="goodsId">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i>广</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" id="goods" name="goods" readonly="readonly" required placeholder="请选择广告商品" autocomplete="off" class="layui-input" lay-active="getGoodsList">
</div>
</div>
</div>
<div id="div3" style="display: none">
<input type="hidden" name="articleId" id="articleId">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i>广</label>
<div class="layui-input-inline layui-inline-5">
<input type="text" id="article" name="article" readonly="readonly" required placeholder="请选择广告文章" autocomplete="off" class="layui-input" lay-active="getArticleList">
</div>
</div>
</div>
<div id="div4" style="display: none">
<input type="hidden" name="articleTypeId" id="articleTypeId">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i></label>
<div class="layui-input-inline layui-inline-5">
<input type="text" id="articleType" name="articleType" readonly="readonly" required placeholder="请选择文章分类" autocomplete="off" class="layui-input" lay-active="getArticleTypeList">
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAdvertisement-createForm-submit" id="LAY-app-CoreCmsAdvertisement-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var $;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'table', 'util', 'treeTable', 'cropperImg'],
function () {
$ = layui.$;
var form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, table = layui.table
, cropperImg = layui.cropperImg
, view = layui.view
, coreHelper = layui.coreHelper
, treeTable = layui.treeTable
, util = layui.util;
var type = $('select[name=type] option:selected').val();
if (type === '1') {
$("#div1").show();
} else if (type === '2') {
$("#div2").show();
} else if (type === '3') {
$("#div3").show();
} else {
$("#div4").show()
}
form.on('select(type)', function (data) {
if (data.value === '1') {
$("#div1").show();
$("#div2").hide();
$("#div3").hide();
$("#div4").hide();
}
if (data.value === '2') {
$("#div1").hide();
$("#div2").show();
$("#div3").hide();
$("#div4").hide();
}
if (data.value === '3') {
$("#div1").hide();
$("#div2").hide();
$("#div3").show();
$("#div4").hide();
}
if (data.value === '4') {
$("#div1").hide()
$("#div2").hide()
$("#div3").hide()
$("#div4").show()
}
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
getGoodsList: function () {
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAdvertisement-GetGoodsList',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/getGoods', null).done(function () {
form.render();
//监听商品列表页工具条
table.on('tool(LAY-app-CoreCmsGoods-tableBox)', function (obj) { //注tool是工具条事件名test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if (layEvent === 'selectGoods') { //选择
console.log(layEvent);
$("#goods").val(data.name);
$("#goodsId").val(data.id);
$("#articleId").val('');
$("#article").val('');
$("#url").val('');
$("#articleTypeId").val('');
$("#articleType").val('');
layer.close(index); //再执行关闭
}
});
});
}
});
}
, getArticleList: function () {
admin.popup({
shadeClose: false,
title: '选择文章',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAdvertisement-GetArticleList',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/getArticle', null).done(function () {
form.render();
//监听文章列表页工具条
table.on('tool(LAY-app-CoreCmsArticle-tableBox)', function (obj) { //注tool是工具条事件名test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if (layEvent === 'selectArticle') { //选择
$("#article").val(data.title);
$("#articleId").val(data.id);
$("#goods").val('');
$("#goodsId").val('');
$("#url").val('');
$("#articleTypeId").val('');
$("#articleType").val('');
layer.close(index); //再执行关闭
}
});
});
}
});
}
, getArticleTypeList: function () {
admin.popup({
shadeClose: false,
title: '选择文章分类',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAdvertisement-GetArticleTypeList',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/getArticleType', null).done(function () {
form.render();
// 监听文章分类列表页工具条
treeTable.on('tool(LAY-app-CoreCmsArticleType-tableBox)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
var tr = obj.tr;
if (layEvent === 'selectType') { //选择
console.log(layEvent);
$("#articleTypeId").val(data.id);
$("#articleType").val(data.name);
$("#goods").val('');
$("#goodsId").val('');
$("#articleId").val('');
$("#article").val('');
$("#url").val('');
layer.close(index); //再执行关闭
}
})
});
}
});
},
doCropperImg: function () {
cropperImg.cropImg({
imgSrc: $('#viewImgBoximageUrl').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoximageUrl').attr('src', res.data.fileUrl);
$("#imageUrl").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
}
});
form.verify({
verifyname: [/^[\S]{0,50}$/, '广告名称最大只允许输入50位字符且不能出现空格'],
verifyimageUrl: [/^[\S]{0,255}$/, '广告图片id最大只允许输入255位字符且不能出现空格'],
verifyval: [/^[\S]{0,255}$/, '链接属性值最大只允许输入255位字符且不能出现空格'],
verifycode: [/^[\S]{0,32}$/, '广告位置编码最大只允许输入32位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAdvertisement-createForm');
})
};
</script>

View File

@@ -0,0 +1,283 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAdvertisement-editForm" id="LAY-app-CoreCmsAdvertisement-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="positionId" class="layui-form-label">广告位置</label>
<div class="layui-input-inline">
<select name="positionId" id="positionId" required lay-verify="required" lay-reqText="请输入位置序列" placeholder="请输入位置序列">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertPosition, function(index, item){ }}
<option value="{{ item.id }}" {{d.params.data.model.positionId==item.id?'selected="selected"':''}}>{{ item.name }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="name" class="layui-form-label">广告名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入广告名称" lay-reqText="请输入广告名称" value="{{d.params.data.model.name || '' }}" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过50个字符内容</div>
</div>
<div class="layui-form-item">
<label for="imageUrl" class="layui-form-label">广告图片</label>
<div class="layui-input-inline">
<input name="imageUrl" id="imageUrl" lay-verify="required" class="layui-input" value="{{d.params.data.model.imageUrl || '' }}" placeholder="请上传广告图片id" lay-reqText="请上传广告图片id" />
</div>
<div class="layui-input-inline">
<img class="coreshop-upload-img" id="viewImgBoximageUrl" src="{{d.params.data.model.imageUrl || layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" lay-active="doCropperImg">上传图片</button>
</div>
</div>
<div class="layui-form-item">
<label for="type" class="layui-form-label">类型</label>
<div class="layui-input-inline">
<select name="type" id="type" required lay-filter="type" lay-verify="required" lay-reqText="请输入类型" placeholder="请输入类型">
<option value="">请选择</option>
{{# layui.each(d.params.data.types, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==d.params.data.model.type?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div id="div1" style="display: none">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i>广URL</label>
<div class="layui-input-block">
<input type="text" id="url" name="url" value="{{d.params.data.model.type==1 ? d.params.data.model.val:'' }}" required placeholder="请输入合法的URL链接,必须以http://开头" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div id="div2" style="display: none">
<input type="hidden" name="goodsId" id="goodsId" value="{{d.params.data.model.type==2 ? d.params.data.model.val:'' }}">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i>广</label>
<div class="layui-input-block">
<input type="text" id="goods" name="goods" value="{{d.params.data.model.type==2 ? d.params.data.model.valDes:'' }}" readonly="readonly" required placeholder="请选择广告商品" autocomplete="off" class="layui-input" lay-active="getGoodsList">
</div>
</div>
</div>
<div id="div3" style="display: none">
<input type="hidden" name="articleId" id="articleId" value="{{d.params.data.model.type==3 ? d.params.data.model.val:'' }}">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i>广</label>
<div class="layui-input-block">
<input type="text" id="article" name="article" value="{{d.params.data.model.type==3 ? d.params.data.model.valDes:'' }}" readonly="readonly" required placeholder="请选择广告文章" autocomplete="off" class="layui-input" lay-active="getArticleList">
</div>
</div>
</div>
<div id="div4" style="display: none">
<input type="hidden" name="articleTypeId" id="articleTypeId" value="{{d.params.data.model.type==4 ? d.params.data.model.val:'' }}">
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i></label>
<div class="layui-input-block">
<input type="text" id="articleType" name="articleType" value="{{d.params.data.model.type==4 ? d.params.data.model.valDes:'' }}" readonly="readonly" required placeholder="请选择文章分类" autocomplete="off" class="layui-input" lay-active="getArticleTypeList">
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort || '' }}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAdvertisement-editForm-submit" id="LAY-app-CoreCmsAdvertisement-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'table', 'util', 'treeTable', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, table = layui.table
, cropperImg = layui.cropperImg
, view = layui.view
, coreHelper = layui.coreHelper
, treeTable = layui.treeTable
, util = layui.util;
var type = $('select[name=type] option:selected').val();
if (type === '1') {
$("#div1").show();
} else if (type === '2') {
$("#div2").show();
} else if (type === '3') {
$("#div3").show();
} else {
$("#div4").show()
}
form.on('select(type)', function (data) {
if (data.value === '1') {
$("#div1").show();
$("#div2").hide();
$("#div3").hide();
$("#div4").hide();
}
if (data.value === '2') {
$("#div1").hide();
$("#div2").show();
$("#div3").hide();
$("#div4").hide();
}
if (data.value === '3') {
$("#div1").hide();
$("#div2").hide();
$("#div3").show();
$("#div4").hide();
}
if (data.value === '4') {
$("#div1").hide()
$("#div2").hide()
$("#div3").hide()
$("#div4").show()
}
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
getGoodsList: function () {
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAdvertisement-GetGoodsList',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/getGoods', null).done(function () {
form.render();
//监听商品列表页工具条
table.on('tool(LAY-app-CoreCmsGoods-tableBox)', function (obj) { //注tool是工具条事件名test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if (layEvent === 'selectGoods') { //选择
console.log(layEvent);
$("#goods").val(data.name);
$("#goodsId").val(data.id);
$("#articleId").val('');
$("#article").val('');
$("#url").val('');
$("#articleTypeId").val('');
$("#articleType").val('');
layer.close(index); //再执行关闭
}
});
});
}
});
}
, getArticleList: function () {
admin.popup({
shadeClose: false,
title: '选择文章',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAdvertisement-GetArticleList',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/getArticle', null).done(function () {
form.render();
//监听文章列表页工具条
table.on('tool(LAY-app-CoreCmsArticle-tableBox)', function (obj) { //注tool是工具条事件名test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
if (layEvent === 'selectArticle') { //选择
$("#article").val(data.title);
$("#articleId").val(data.id);
$("#goods").val('');
$("#goodsId").val('');
$("#url").val('');
$("#articleTypeId").val('');
$("#articleType").val('');
layer.close(index); //再执行关闭
}
});
});
}
});
}
, getArticleTypeList: function () {
admin.popup({
shadeClose: false,
title: '选择文章分类',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsAdvertisement-GetArticleTypeList',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/getArticleType', null).done(function () {
form.render();
// 监听文章分类列表页工具条
treeTable.on('tool(LAY-app-CoreCmsArticleType-tableBox)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
var tr = obj.tr;
if (layEvent === 'selectType') { //选择
console.log(layEvent);
$("#articleTypeId").val(data.id);
$("#articleType").val(data.name);
$("#goods").val('');
$("#goodsId").val('');
$("#articleId").val('');
$("#article").val('');
$("#url").val('');
layer.close(index); //再执行关闭
}
})
});
}
});
}
, doCropperImg: function () {
cropperImg.cropImg({
imgSrc: $('#viewImgBoximageUrl').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoximageUrl').attr('src', res.data.fileUrl);
$("#imageUrl").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
}
});
form.verify({
verifyname: [/^[\S]{0,50}$/, '广告名称最大只允许输入50位字符且不能出现空格'],
verifyimageUrl: [/^[\S]{0,255}$/, '广告图片id最大只允许输入255位字符且不能出现空格'],
verifyval: [/^[\S]{0,255}$/, '链接属性值最大只允许输入255位字符且不能出现空格'],
verifycode: [/^[\S]{0,32}$/, '广告位置编码最大只允许输入32位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAdvertisement-editForm');
})
};
</script>

View File

@@ -0,0 +1,102 @@
<title>文章表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsArticle/GetIndex" lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getArticle-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="title">标题</label>
<div class="layui-input-inline">
<input type="text" name="title" id="title" placeholder="请输入标题" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsArticle-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsArticle-tableBox" lay-filter="LAY-app-CoreCmsArticle-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsArticle-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="selectArticle">选择</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsArticle-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsArticle-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsArticle-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAdvertisement/GetArticle',
method: 'POST',
toolbar: '#LAY-app-getArticle-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-260',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'title', title: '标题', sort: false },
{ field: 'isPub', title: '是否发布', width: 95, templet: '#switch_isPub', sort: false, unresize: true },
{ width: 92, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsArticle-tableBox-bar' }
]
]
});
});
};
</script>
<!--设置是否发布-->
<script type="text/html" id="switch_isPub">
<input type="checkbox" name="switch_isPub" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isPub" {{ d.isPub ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,66 @@
<title>文章分类表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsArticleType-tableBox" lay-filter="LAY-app-CoreCmsArticleType-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsArticleType-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="selectType">选择</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'treeTable'],
function () {
var $ = layui.$
, coreHelper = layui.coreHelper
, treeTable = layui.treeTable;
//数据绑定
var insTb = treeTable.render({
elem: '#LAY-app-CoreCmsArticleType-tableBox',
tree: {
iconIndex: 1,
idName: 'id', // id的字段名
pidName: 'parentId', // pid的字段名
openName: 'name',
isPidData: true
},
height: 'full-262',//无面包屑127,搜索框189,1行62
cols: [
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '分类名称', sort: false },
{ field: 'sort', title: '排序 ', sort: false, width: 105 },
{ width: 182, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsArticleType-tableBox-bar' }
],
reqData: function (data, callback) {
coreHelper.Post('Api/CoreCmsAdvertisement/GetArticleType', null, function (res) {
if (res.code === 0) {
callback(res.data);
} else {
layer.msg(res.msg, { icon: 5, time: 2000 });
}
})
},
style: 'margin-top:0;'
});
});
};
</script>

View File

@@ -0,0 +1,105 @@
<title>商品表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-getGoods-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">商品名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="noDefaultToolbar">
<table id="LAY-app-CoreCmsGoods-tableBox" lay-filter="LAY-app-CoreCmsGoods-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsGoods-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="selectGoods">选择</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsGoods-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsGoods-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsGoods-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAdvertisement/GetGoods',
method: 'POST',
toolbar: '#LAY-app-getGoods-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-260',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '商品ID', width: 80, sort: false },
{ field: 'name', title: '商品名称', sort: false },
{
field: 'images', title: '图集', width: 100, sort: false,
templet: function (d) {
if (d.images) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.images + '")><image style="max-width:28px;max-height:28px;" src="' + d.images + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'stock', title: '库存', sort: false, width: 105 },
{ width: 92, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsGoods-tableBox-bar' }
]
]
});
});
};
</script>

View File

@@ -0,0 +1,291 @@
<title>广告表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAdvertisement/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsAdvertisement-tableBox" lay-filter="LAY-app-CoreCmsAdvertisement-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsAdvertisement-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入广告名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="updateTime" id="searchTime-CoreCmsAdvertisement-updateTime" placeholder="请输入更新时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsAdvertisement-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAdvertisement-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAdvertisement-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsAdvertisement-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsAdvertisement-tableBox', { where: field });
});
console.log("初始化");
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsAdvertisement-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAdvertisement/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsAdvertisement-toolbar',
pagebar: '#LAY-app-CoreCmsAdvertisement-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '广告名称', sort: false },
{
field: 'imageUrl', title: '广告图片', width: 100, sort: false,
templet: function (d) {
if (d.imageUrl) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.imageUrl + '")><image style="max-width:28px;max-height:28px;" src="' + d.imageUrl + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'valDes', title: '广告地址', sort: false },
{ field: 'sort', title: '排序', sort: false, width: 105 },
{ field: 'createTime', title: '添加时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
//{ field: 'type', title: '类型', sort: false, width: 105, templet: '#get_type_des' },
{
field: 'type', title: '类型', sort: false, width: 105, templet: function (data) {
for (var i = 0; i < d.data.types.length; i++) {
if (data.type == d.data.types[i].value) {
return d.data.types[i].description;
}
}
return "";
}
},
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsAdvertisement-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsAdvertisement-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsAdvertisement-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsAdvertisement-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsAdvertisement-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsAdvertisement/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['600px', '550px'],
id: 'LAY-popup-CoreCmsAdvertisement-create',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAdvertisement-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (field.type == "1") {
field.val = field.url;
} else if (field.type == "2") {
field.val = field.goodsId;
field.valDes = field.goods;
} else if (field.type == "3") {
field.val = field.articleId;
field.valDes = field.article;
} else if (field.type == "4") {
field.val = field.articleTypeId;
field.valDes = field.articleType;
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAdvertisement/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAdvertisement-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAdvertisement-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsAdvertisement/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['600px', '550px'],
id: 'LAY-popup-CoreCmsAdvertisement-edit',
success: function (layero, index) {
view(this.id).render('content/advert/advertisement/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAdvertisement-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (field.type == "1") {
field.val = field.url;
} else if (field.type == "2") {
field.val = field.goodsId;
field.valDes = field.goods;
} else if (field.type == "3") {
field.val = field.articleId;
field.valDes = field.article;
} else if (field.type == "4") {
field.val = field.articleTypeId;
field.valDes = field.articleType;
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAdvertisement/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAdvertisement-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAdvertisement-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsAdvertisement/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAdvertisement-tableBox');
layer.msg(e.msg);
});
});
}
//监听 表格复选框操作
laydate.render({
elem: '#searchTime-CoreCmsAdvertisement-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
});
};
</script>

View File

@@ -0,0 +1,66 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAdvertPosition-createForm" id="LAY-app-CoreCmsAdvertPosition-createForm">
<div class="layui-form-item">
<label for="name" class="layui-form-label">名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入名称" placeholder="请输入名称" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过120个字符内容</div>
</div>
<div class="layui-form-item">
<label for="code" class="layui-form-label">位置编码</label>
<div class="layui-input-inline">
<select name="code" id="code" required lay-verify="required" lay-reqText="请输入位置编码" placeholder="请输入位置编码">
<option value="">请选择</option>
{{# layui.each(d.params.data, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item" pane>
<label for="isEnable" class="layui-form-label">是否启用</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isEnable" id="isEnable" lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAdvertPosition-createForm-submit" id="LAY-app-CoreCmsAdvertPosition-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^[\S]{0,120}$/, '名称最大只允许输入120位字符且不能出现空格'],
verifycode: [/^[\S]{0,32}$/, '位置编码最大只允许输入32位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAdvertPosition-createForm');
})
};
</script>

View File

@@ -0,0 +1,69 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsAdvertPosition-editForm" id="LAY-app-CoreCmsAdvertPosition-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label">名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入名称" lay-reqText="请输入名称" value="{{d.params.data.model.name || '' }}" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过120个字符内容</div>
</div>
<div class="layui-form-item">
<label for="code" class="layui-form-label">位置编码</label>
<div class="layui-input-inline">
<select name="code" id="code" required lay-verify="required" lay-reqText="请输入位置编码" placeholder="请输入位置编码">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertTemplateCode, function(index, item){ }}
<option value="{{ item.title }}" {{d.params.data.model.code==item.title?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过32个字符内容</div>
</div>
<div class="layui-form-item" pane>
<label for="isEnable" class="layui-form-label">是否启用</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isEnable" id="isEnable" {{ d.params.data.model.isEnable ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort}}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsAdvertPosition-editForm-submit" id="LAY-app-CoreCmsAdvertPosition-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^[\S]{0,120}$/, '名称最大只允许输入120位字符且不能出现空格'],
verifycode: [/^[\S]{0,32}$/, '位置编码最大只允许输入32位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsAdvertPosition-editForm');
})
};
</script>

View File

@@ -0,0 +1,275 @@
<title>广告位置表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsAdvertPosition/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsAdvertPosition-tableBox" lay-filter="LAY-app-CoreCmsAdvertPosition-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsAdvertPosition-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入广告位名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isEnable" id="isEnable">
<option value="">请选择是否启用</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="updateTime" id="searchTime-CoreCmsAdvertPosition-updateTime" placeholder="请输入更新时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsAdvertPosition-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAdvertPosition-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsAdvertPosition-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsAdvertPosition-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsAdvertPosition-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsAdvertPosition-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsAdvertPosition/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsAdvertPosition-toolbar',
pagebar: '#LAY-app-CoreCmsAdvertPosition-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '名称', sort: false },
{ field: 'code', title: '位置编码', sort: false },
{ field: 'createTime', title: '添加时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ field: 'isEnable', title: '是否启用', width: 95, templet: '#switch_isEnable', sort: false, unresize: true },
{ field: 'sort', title: '排序', sort: false, width: 105 },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsAdvertPosition-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsAdvertPosition-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsAdvertPosition-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序是否启用。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsAdvertPosition-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsAdvertPosition-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsAdvertPosition/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['600px', '330px'],
id: 'LAY-popup-CoreCmsAdvertPosition-create',
success: function (layero, index) {
view(this.id).render('content/advert/advertposition/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAdvertPosition-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isEnable = field.isEnable == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAdvertPosition/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAdvertPosition-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAdvertPosition-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsAdvertPosition/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['600px', '330px'],
id: 'LAY-popup-CoreCmsAdvertPosition-edit',
success: function (layero, index) {
view(this.id).render('content/advert/advertposition/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsAdvertPosition-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isEnable = field.isEnable == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsAdvertPosition/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsAdvertPosition-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsAdvertPosition-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsAdvertPosition/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsAdvertPosition-tableBox');
layer.msg(e.msg);
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isEnable)', function (obj) {
coreHelper.Post("Api/CoreCmsAdvertPosition/DoSetisEnable", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsAdvertPosition-tableBox');
layer.msg(e.msg);
});
});
laydate.render({
elem: '#searchTime-CoreCmsAdvertPosition-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsAdvertPosition-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
});
};
</script>
<!--设置是否启用-->
<script type="text/html" id="switch_isEnable">
<input type="checkbox" name="switch_isEnable" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isEnable" {{ d.isEnable ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,207 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsArticle-createForm" id="LAY-app-CoreCmsArticle-createForm">
<div class="layui-form-item">
<label for="typeId" class="layui-form-label">分类</label>
<div class="layui-input-inline layui-inline-4">
<select name="typeId" id="typeId" lay-verify="required">
<option>请选择</option>
{{# layui.each( d.params.data.categories, function(index, item){ }}
<option value="{{ item.id }}">{{ item.name }}</option>
{{# }); }}
</select>
</div>
<label for="title" class="layui-form-label">标题</label>
<div class="layui-input-inline layui-inline-10">
<input name="title" id="title" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" lay-reqText="请输入标题" placeholder="请输入标题" />
</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="brief" class="layui-form-label">简介</label>
<div class="layui-input-block">
<textarea name="brief" id="brief" lay-verType="tips" lay-verify="required|verifybrief" lay-reqText="请输入不超过100个字符内容" placeholder="请输入不超过100个字符内容" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label for="coverImage" class="layui-form-label">封面图</label>
<div class="layui-input-inline layui-inline-10">
<input name="coverImage" id="coverImage" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="请上传封面图" lay-reqText="请上传封面图" />
</div>
<div class="layui-input-inline">
<img class="coreshop-upload-img" id="viewImgBoxcoverImage" src="{{ layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtncoverImage">上传图片</button>
</div>
</div>
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
<div class="document-editor">
<div class="toolbar-container" id="toolbar-container"></div>
<div class="content-container">
<div id="editor"></div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<label for="isPub" class="layui-form-label">是否发布</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isPub" id="isPub" lay-skin="switch" lay-text="开启|关闭">
</div>
<label for="isDel" class="layui-form-label">是否删除</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isDel" id="isDel" lay-skin="switch" lay-text="开启|关闭">
</div>
<label for="pv" class="layui-form-label">访问量</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="pv" id="pv" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入访问量" lay-reqText="请输入访问量并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsArticle-createForm-submit" id="LAY-app-CoreCmsArticle-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'dtree', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, dtree = layui.dtree
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
mediaEmbed: {
providers: [
{
name: 'myprovider',
url: [
/^.*/
],
html: match => {
//获取媒体url
const input = match['input'];
return (
'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 70%;">' +
`<iframe src="${input}" ` +
'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" ' +
'frameborder="0" allowtransparency="true" allow="encrypted-media">' +
'</iframe>' +
'</div>'
);
}
}
]
}
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
//封面图图片上传
$('#upBtncoverImage').click(function () {
cropperImg.cropImg({
aspectRatio: 16 / 9,
imgSrc: $('#viewImgBoxcoverImage').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoxcoverImage').attr('src', res.data.fileUrl);
$("#coverImage").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
form.verify({
verifytitle: [/^[\S]{0,200}$/, '标题最大只允许输入200位字符且不能出现空格'],
verifybrief: [/^[\S]{0,100}$/, '简介最大只允许输入100位字符且不能出现空格'],
verifycoverImage: [/^[\S]{0,255}$/, '封面图最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsArticle-createForm');
})
};
</script>

View File

@@ -0,0 +1,209 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsArticle-editForm" id="LAY-app-CoreCmsArticle-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="typeId" class="layui-form-label">分类</label>
<div class="layui-input-inline layui-inline-4">
<select name="typeId" id="typeId" lay-verify="required">
<option>请选择</option>
{{# layui.each( d.params.data.categories, function(index, item){ }}
<option value="{{ item.id }}" {{item.id===d.params.data.model.typeId?'selected="selected"':'' }}>{{ item.name }}</option>
{{# }); }}
</select>
</div>
<label for="title" class="layui-form-label">标题</label>
<div class="layui-input-inline layui-inline-10">
<input name="title" id="title" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" placeholder="请输入标题" lay-reqText="请输入标题" value="{{d.params.data.model.title || '' }}" />
</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="brief" class="layui-form-label">简介</label>
<div class="layui-input-block">
<textarea name="brief" id="brief" lay-verType="tips" lay-verify="required|verifybrief" lay-reqText="请输入不超过100个字符内容" placeholder="请输入不超过100个字符内容" class="layui-textarea">{{d.params.data.model.brief || '' }}</textarea>
</div>
</div>
<div class="layui-form-item">
<label for="coverImage" class="layui-form-label">封面图</label>
<div class="layui-input-inline layui-inline-10">
<input name="coverImage" id="coverImage" lay-verType="tips" lay-verify="required" class="layui-input" value="{{d.params.data.model.coverImage || '' }}" placeholder="请上传封面图" lay-reqText="请上传封面图" />
</div>
<div class="layui-input-inline">
<img class="coreshop-upload-img" id="viewImgBoxcoverImage" src="{{d.params.data.model.coverImage || layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtncoverImage">上传图片</button>
</div>
</div>
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
<div class="document-editor">
<div class="toolbar-container" id="toolbar-container"></div>
<div class="content-container">
<div id="editor"></div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort || '' }}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<label for="isPub" class="layui-form-label">是否发布</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isPub" id="isPub" {{ d.params.data.model.isPub ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
<label for="isDel" class="layui-form-label">是否删除</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isDel" id="isDel" {{ d.params.data.model.isDel ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
<label for="pv" class="layui-form-label">访问量</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="pv" id="pv" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.pv || '' }}" placeholder="请输入访问量" lay-reqText="请输入访问量并为数字" />
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsArticle-editForm-submit" id="LAY-app-CoreCmsArticle-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
mediaEmbed: {
providers: [
{
name: 'myprovider',
url: [
/^.*/
],
html: match => {
//获取媒体url
const input = match['input'];
return (
'<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 70%;">' +
`<iframe src="${input}" ` +
'style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" ' +
'frameborder="0" allowtransparency="true" allow="encrypted-media">' +
'</iframe>' +
'</div>'
);
}
}
]
}
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.params.data.model.contentBody);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
//封面图图片上传
$('#upBtncoverImage').click(function () {
cropperImg.cropImg({
aspectRatio: 16 / 9,
imgSrc: $('#viewImgBoxcoverImage').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoxcoverImage').attr('src', res.data.fileUrl);
$("#coverImage").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
form.verify({
verifytitle: [/^[\S]{0,200}$/, '标题最大只允许输入200位字符且不能出现空格'],
verifybrief: [/^[\S]{0,100}$/, '简介最大只允许输入100位字符且不能出现空格'],
verifycoverImage: [/^[\S]{0,255}$/, '封面图最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsArticle-editForm');
})
};
</script>

View File

@@ -0,0 +1,333 @@
<title>文章表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsArticle/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsArticle-tableBox" lay-filter="LAY-app-CoreCmsArticle-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsArticle-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="title" id="title" placeholder="请输入标题" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="typeId" id="typeId">
<option value="">请选择所属分类</option>
{{# layui.each(indexData.categories, function(index, item){ }}
<option value="{{ item.id }}">{{ item.name }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isPub" id="isPub">
<option value="">请选择是否发布</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsArticle-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsArticle-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsArticle-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsArticle-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsArticle-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsArticle-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsArticle-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsArticle-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsArticle-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsArticle/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsArticle-toolbar',
pagebar: '#LAY-app-CoreCmsArticle-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'title', title: '标题', sort: false },
{
field: 'coverImage', title: '封面图', width: 80, sort: false,
templet: function (d) {
if (d.coverImage) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.coverImage + '")><image style="max-width:28px;max-height:28px;" src="' + d.coverImage + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{
field: 'typeId', title: '分类', sort: false, width: 105,
templet: function (data) {
for (var i = 0; i < d.data.categories.length; i++) {
if (data.typeId == d.data.categories[i].id) {
return d.data.categories[i].name;
}
}
return "";
}
},
{ field: 'sort', title: '排序', sort: false, width: 105 },
{ field: 'isPub', title: '是否发布', width: 95, templet: '#switch_isPub', sort: false, unresize: true },
{ field: 'isDel', title: '是否删除', width: 95, templet: '#switch_isDel', sort: false, unresize: true },
{ field: 'pv', title: '访问量', sort: false, width: 105 },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsArticle-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsArticle-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsArticle-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsArticle-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsArticle-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsArticle/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['1200px', '95%'],
id: 'LAY-popup-CoreCmsArticle-create',
success: function (layero, index) {
view(this.id).render('content/article/articles/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsArticle-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isPub = field.isPub == 'on';
field.isDel = field.isDel == 'on';
field.contentBody = window.editor.getData();
if (!!!field.contentBody) {
layer.msg('文章详情内容不能为空', { icon: 5 });
return false;
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsArticle/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsArticle-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsArticle-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsArticle/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['1200px', '95%'],
id: 'LAY-popup-CoreCmsArticle-edit',
success: function (layero, index) {
view(this.id).render('content/article/articles/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsArticle-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isPub = field.isPub == 'on';
field.isDel = field.isDel == 'on';
if (!!!field.typeId) {
layer.msg("请选择文章分类", { icon: 5 });
return false;
}
field.contentBody = window.editor.getData();
if (!!!field.contentBody) {
layer.msg('文章详情内容不能为空', { icon: 5 });
return false;
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsArticle/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsArticle-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsArticle-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsArticle/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsArticle-tableBox');
layer.msg(e.msg);
});
});
}
layui.form.on('switch(switch_isPub)', function (obj) {
coreHelper.Post("Api/CoreCmsArticle/DoSetisPub", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsArticle-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isDel)', function (obj) {
coreHelper.Post("Api/CoreCmsArticle/DoSetisDel", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsArticle-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否发布-->
<script type="text/html" id="switch_isPub">
<input type="checkbox" name="switch_isPub" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isPub" {{ d.isPub ? 'checked' : '' }}>
</script>
<!--设置是否删除-->
<script type="text/html" id="switch_isDel">
<input type="checkbox" name="switch_isDel" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDel" {{ d.isDel ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,47 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsArticleType-createForm" id="LAY-app-CoreCmsArticleType-createForm">
<input type="hidden" value="0" name="parentId" />
<div class="layui-form-item">
<label for="name" class="layui-form-label">分类名称</label>
<div class="layui-input-block">
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入分类名称" placeholder="请输入分类名称" />
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序 </label>
<div class="layui-input-block">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入排序 " lay-reqText="请输入排序 并为数字" />
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsArticleType-createForm-submit" id="LAY-app-CoreCmsArticleType-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^[\S]{0,32}$/, '分类名称最大只允许输入32位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsArticleType-createForm');
})
};
</script>

View File

@@ -0,0 +1,46 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsArticleType-editForm" id="LAY-app-CoreCmsArticleType-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<input type="hidden" name="parentId" id="parentId" value="0" />
<div class="layui-form-item">
<label for="name" class="layui-form-label">分类名称</label>
<div class="layui-input-block">
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" placeholder="请输入分类名称" lay-reqText="请输入分类名称" value="{{d.params.data.model.name || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序 </label>
<div class="layui-input-block">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort }}" placeholder="请输入排序 " lay-reqText="请输入排序 并为数字" />
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsArticleType-editForm-submit" id="LAY-app-CoreCmsArticleType-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'dtree'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, dtree = layui.dtree
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^[\S]{0,32}$/, '分类名称最大只允许输入32位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsArticleType-editForm');
})
};
</script>

View File

@@ -0,0 +1,249 @@
<title>文章分类表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="Api/CoreCmsArticleType/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsArticleType-tableBox" lay-filter="LAY-app-CoreCmsArticleType-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsArticleType-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="name">分类名称</label>
<div class="layui-input-inline">
<input type="text" name="name" placeholder="请输入分类名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsArticleType-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsArticleType-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsArticleType-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsArticleTypeTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsArticleTypeTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除吗
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsArticleType-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reload('LAY-app-CoreCmsArticleType-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsArticleType-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsArticleType/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsArticleType-toolbar',
pagebar: '#LAY-app-CoreCmsArticleType-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '分类名称', sort: false, width: 200 },
//{ field: 'parentId', title: '父id', sort: false, width: 105 },
{ field: 'sort', title: '排序 ', sort: false, width: 60 },
{ width: 120, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsArticleType-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsArticleType-tableBox)', function (obj) {
table.reload('LAY-app-CoreCmsArticleType-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsArticleType-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsArticleType-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsArticleType-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsArticleType/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['500px', '250px'],
id: 'LAY-popup-CoreCmsArticleType-create',
success: function (layero, index) {
view(this.id).render('content/article/articletype/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsArticleType-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsArticleType/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reload('LAY-app-CoreCmsArticleType-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsArticleType-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsArticleType/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['500px', '250px'],
id: 'LAY-popup-CoreCmsArticleType-edit',
success: function (layero, index) {
view(this.id).render('content/article/articletype/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsArticleType-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsArticleType/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reload('LAY-app-CoreCmsArticleType-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsArticleType-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsArticleType/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reload('LAY-app-CoreCmsArticleType-tableBox');
layer.msg(e.msg);
});
}
});
};
</script>

View File

@@ -0,0 +1,563 @@
<style>
#container { padding: 0px; border-radius: 0px; border-width: 0px; }
#img_preview { display: inline; float: left; margin-top: 40px; overflow: hidden; }
.imgdiv { float: left; text-align: center; border: 1px solid #ccc; padding: 5px; padding-bottom: 0; margin-right: 10px; background-color: #fff; }
.layui-upload-img { margin: 0; }
.layui-upload-list { margin: 10px 0; overflow: hidden; }
#operate { margin-top: 5px; }
#operate a { cursor: pointer }
#operate a:hover { color: #009688; }
.sm-input { height: 24px; margin-top: 5px; margin-bottom: 5px !important; }
.table-button { margin-top: 0px; }
.layui-table .layui-form-select, .layui-table .layui-select-title, .layui-table .layui-unselect { height: 24px; }
.layui-table .layui-form-select dl dd, .layui-table .layui-form-select dl dt { line-height: 24px; }
.layui-table .layui-form-radio { margin: 0px 0px 0 0; }
.layui-table .layui-btn { margin-top: 0px; }
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsForm-createForm" id="LAY-app-CoreCmsForm-createForm">
<div class="layui-form-item">
<label for="name" class="layui-form-label">表单名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入表单名称" placeholder="请输入表单名称" />
</div>
</div>
<div class="layui-form-item">
<label for="type" class="layui-form-label">表单类型</label>
<div class="layui-input-inline">
<select name="type" id="type" lay-verify="required|number" lay-reqText="请选择表单类型">
<option value="">请选择</option>
{{# layui.each(d.params.data.formTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请选择表单类型</div>
</div>
<div class="layui-form-item">
<label for="headType" class="layui-form-label">表头类型</label>
<div class="layui-input-inline">
<select name="headType" id="headType" lay-verify="required|number" lay-reqText="请选择表头类型" lay-filter="head_type">
<option value="">请选择</option>
{{# layui.each(d.params.data.formHeadTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请选择表头类型</div>
</div>
<div class="layui-form-item image">
<label for="imageIds" class="layui-form-label">缩略图集</label>
<div class="layui-input-inline">
<input type="hidden" name="images" id="imageIds" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
<button type="button" class="layui-btn" style="margin-left: 10px;" id="upBtnimageIds"><i class="layui-icon"></i></button>
</div>
<div class="layui-form-mid layui-word-aux">
请选择小于5M的图片进行裁剪上传
</div>
</div>
<div class="layui-form-item image">
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
预览图[第一张图片为默认图可拖动图片进行排序]
<div class="layui-upload-list" id="upload-more-list"></div>
</blockquote>
</div>
<div class="layui-form-item video" style="display: none;">
<label class="layui-form-label">头部视频</label>
<div class="layui-input-inline layui-inline-10">
<input name="headTypeVideo" id="headTypeVideo" class="layui-input" placeholder="请填写视频播放地址" lay-reqText="请填写视频播放地址" />
</div>
<!--<div class="layui-input-inline">
<button type="button" class="layui-btn" style="margin-left: 10px;" id="video"><i class="layui-icon"></i></button>
</div>
<div id="fileName">
</div>-->
</div>
<div class="layui-form-item layui-upload video" style="display: none;">
<label class="layui-form-label">视频封面</label>
<div class="layui-input-inline layui-inline-10">
<input name="headTypeValue" id="headTypeValue" class="layui-input" placeholder="请上传视频封面" lay-reqText="请上传视频封面" />
</div>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upBtnimages">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="viewImgBoximages" src="{{ layui.setter.noImagePicUrl }}">
<p id="viewTextBoximages"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="description" class="layui-form-label">表单描述</label>
<div class="layui-input-block">
<textarea name="description" id="description" lay-verify="required|verifydescription" placeholder="请输入内容" class="layui-textarea" lay-reqText="请输入表单描述" placeholder="请输入表单描述"></textarea>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">表单字段</label>
<div class="layui-input-block">
<table class="layui-table" lay-size="sm">
<thead>
<tr>
<th>名称</th>
<th style="width: 100px;">类型</th>
<th style="width: 200px;">字段值</th>
<th>默认值</th>
<th style="width: 112px;">验证类型</th>
<th style="width: 112px;">必填</th>
<th style="width: 112px;">排序</th>
<th style="width: 82px;">操作</th>
</tr>
</thead>
<tbody id="view">
<tr data-id="0">
<td>
<input type="hidden" id="id" name="item.id[0]" value="0" />
<input type="text" id="name" name="item.name[0]" required value="" placeholder="" autocomplete="off"
class="layui-input sm-input">
</td>
<td>
<select id="type" name="item.type[0]" class="sm-input" style="height: 24px;" lay-filter="change_type">
{{# layui.each(d.params.data.formFieldTypes, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</td>
<td class="field_value">
<input type="text" id="value" name="item.value[0]" required value="" placeholder="逗号分割"
autocomplete="off" class="layui-input sm-input">
</td>
<td>
<input type="text" id="defaultValue" name="item.defaultValue[0]" required value="" lay-verify=""
placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="validationType" name="item.validationType[0]" class="sm-input" style="height: 24px;">
{{# layui.each(d.params.data.formValidationTypes, function(index, item){ }}
<option value="{{ item.description }}">{{ item.title }}</option>
{{# }); }}
</select>
</td>
<td>
<input type="radio" id="required1" name="item.required[0]" value="1" title="是">
<input type="radio" id="required2" name="item.required[0]" value="2" title="否" checked>
</td>
<td>
<input type="text" id="sort" name="item.sort[0]" required value="100" placeholder="" autocomplete="off"
class="layui-input seller-inline-1 sm-input">
</td>
<td>
<a class="layui-btn layui-btn-xs addfield-class table-button">
添加
</a>
<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">
删除
</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="layui-input-block layui-word-aux">
1<font style="color:#ff0000;">字段值默认值填写的内容如果为多词组选择请使用小写的逗号,进行分隔张三,李四,王五</font><br />
2. 类型是商品时可不输入字段名默认值为默认下单数量<br />
3. 类型是金额时字段值可不填
</div>
</div>
<!--<div class="layui-form-item">
<label for="headTypeValue" class="layui-form-label">表单头值</label>
<div class="layui-input-inline">
<input name="headTypeValue" id="headTypeValue" lay-verify="required|verifyheadTypeValue" class="layui-input" lay-reqText="请输入表单头值" placeholder="请输入表单头值" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过200个字符内容</div>
</div>-->
<div class="layui-form-item">
<label for="buttonName" class="layui-form-label">按钮名称</label>
<div class="layui-input-inline">
<input name="buttonName" id="buttonName" lay-verify="required|verifybuttonName" class="layui-input" lay-reqText="请输入表单提交按钮名称" placeholder="请输入表单提交按钮名称" />
</div>
</div>
<div class="layui-form-item">
<label for="buttonColor" class="layui-form-label">按钮颜色</label>
<div class="layui-input-inline">
<input name="buttonColor" id="buttonColor" lay-verify="required|verifybuttonColor" class="layui-input" lay-reqText="请输入表单按钮颜色" placeholder="请输入表单按钮颜色" />
</div>
<div class="layui-inline" style="left: -11px;">
<div id="color-form"></div>
</div>
</div>
<div class="layui-form-item" pane>
<label for="isLogin" class="layui-form-label">是否需要登录</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isLogin" id="isLogin" lay-skin="switch" lay-text="开启|关闭">
</div>
<div class="layui-form-mid layui-word-aux">订单和付款码类型请一定要选择登录哦~</div>
</div>
<div class="layui-form-item">
<label for="times" class="layui-form-label">可提交次数</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="times" id="times" lay-verify="required|number" class="layui-input" value="0" placeholder="请输入可提交次数" lay-reqText="请输入可提交次数并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">为0时不限制用户提交次数不为0时请选择需要登录</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入表单排序" lay-reqText="请输入表单排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">数字越小越靠前</div>
</div>
<div class="layui-form-item">
<label for="returnMsg" class="layui-form-label">提交后提示语</label>
<div class="layui-input-inline">
<input name="returnMsg" id="returnMsg" lay-verify="required|verifyreturnMsg" class="layui-input" lay-reqText="请输入提交后提示语" placeholder="请输入提交后提示语" />
</div>
<div class="layui-form-mid layui-word-aux">表单提交后给用户展示</div>
</div>
<div class="layui-form-item">
<label for="endDateTime" class="layui-form-label">结束时间</label>
<div class="layui-input-inline">
<input name="endDateTime" id="createTime-CoreCmsForm-endDateTime" type="text" lay-verify="required|datetime" class="layui-input" placeholder="请输入结束时间" lay-reqText="请输入结束时间" />
</div>
</div>
<div class="layui-form-item core-hidden">
<div class="layui-input-block">
<div class="layui-footer">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsForm-createForm-submit" id="LAY-app-CoreCmsForm-createForm-submit" value="确认添加">
</div>
</div>
</div>
</div>
</script>
<script id="tr_tpl" type="text/html">
<tr data-id="{{ d.id }}">
<td>
<input type="hidden" id="id" name="item.id[{{ d.id }}]" value="0" />
<input type="text" id="name" name="item.name[{{ d.id }}]" required value="" placeholder="" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="type" name="item.type[{{ d.id }}]" class="sm-input" style="height: 24px;" lay-filter="change_type">
{{# layui.each(formFieldTypes, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</td>
<td class="field_value">
<input type="text" id="value" name="item.value[{{ d.id }}]" required value="" placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<input type="text" id="defaultValue" name="item.defaultValue[{{ d.id }}]" required value="" placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="validationType" name="item.validationType[{{ d.id }}]" class="sm-input" style="height: 24px;">
{{# layui.each(formValidationTypes, function(index, item){ }}
<option value="{{ item.description }}">{{ item.title }}</option>
{{# }); }}
</select>
</td>
<td>
<input type="radio" id="required1" name="item.required[{{ d.id }}]" value="1" title="是">
<input type="radio" id="required2" name="item.required[{{ d.id }}]" value="2" title="否" checked>
</td>
<td>
<input type="text" id="sort" name="item.sort[{{ d.id }}]" required value="100" placeholder="" autocomplete="off" class="layui-input seller-inline-1 sm-input">
</td>
<td>
<a class="layui-btn layui-btn-xs addfield-class table-button">
添加
</a>
<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">
删除
</a>
</td>
</tr>
</script>
<script id="image_tpl" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="imgdiv">
<img src="{{ item }}" class="layui-upload-img" onclick='layui.coreHelper.viewImage("{{ item }}")' style="width: 100px;height:100px;">
<div id="operate">
<div><a class="del" onclick="delImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setDefault(this,'{{ item }}')"></a></div>
</div>
</div>
{{# }); }}
</script>
<div id="selectgoods" style="display: none;">
<div id="selectgoods_box" class="select_seller_goods_box">
<div>
<a href="javascript:;" class="layui-btn layui-btn-sm" lay-active="selectActive"><i class="iconfont icon-choose1"></i>选择商品</a>
</div>
<input type="hidden" name="item.value[]" id="selectgoods_input" value="">
<ul id="selectgoods_list" class="sellect_seller_goods_list">
</ul>
</div>
</div>
<script>
var $, imgs = [], debug = layui.setter.debug, formFieldTypes, formValidationTypes;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
formFieldTypes = d.params.data.formFieldTypes;
formValidationTypes = d.params.data.formValidationTypes;
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'laytpl', 'colorpicker', 'util'],
function () {
var form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, colorpicker = layui.colorpicker
, laytpl = layui.laytpl
, util = layui.util
, coreHelper = layui.coreHelper;
$ = layui.$;
form.on('select(head_type)', function (data) {
var type_id = data.value;
if (type_id == 3) {
$(".video").show();
$(".image").hide();
} else {
$(".image").show();
$(".video").hide();
}
});
form.on('select(change_type)', function (data) {
var type = data.value;
if (type == 'goods') {
var goodsHtml = $("#selectgoods").html();
var tempid = $("#selectgoods").find(".select_seller_goods_box").attr("id");
var id = tempid.split("_");
var currentid = $(data.elem).parent().parent().attr('data-id');
var newid = id[0] + "_" + currentid;
var reg = new RegExp(id[0], "g"); //创建正则RegExp对象
goodsHtml = goodsHtml.replace(reg, newid);
goodsHtml = goodsHtml.replace("[]", "[" + currentid + "]");
$(data.elem).parent().next('.field_value').html(goodsHtml);
var title = $("#" + newid + "_list").html();
form.render();
}
});
//表单赋值
colorpicker.render({
elem: '#color-form'
, color: '#1c97f5'
, done: function (color) {
console.log(color)
$('#buttonColor').val(color);
form.render();
}
});
//封面图图片上传
$('#upBtnimages').click(function () {
cropperImg.cropImg({
aspectRatio: 16 / 9,
imgSrc: $('#viewImgBoximages').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoximages').attr('src', res.data.fileUrl);
$("#headTypeValue").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
//上传缩略图集
$('#upBtnimageIds').click(function () {
cropperImg.cropImg({
aspectRatio: 16 / 9,
imgSrc: $('#viewImgBoximages').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
imgs.push(res.data.fileUrl);
$('#imageIds').val(imgs);
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
laytpl(getTpl).render(imgs, function (html) {
view.innerHTML = html;
});
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
$(".layui-table").on('click', '.addfield-class', function (e) {
var getTpl = tr_tpl.innerHTML;
var lastId = $(this).parent().parent().parent().find('tr').last().attr('data-id');
console.log(lastId);
var tmpData = {};
tmpData.id = parseInt(lastId) + 1;
laytpl(getTpl).render(tmpData, function (html) {
$("#view").append(html);
form.render();
});
});
$(".layui-table").on('click', '.del-class', function (e) {
if ($(".del-class").length > 1) {
$(this).parent().parent().remove();
resetInputNameID();
} else {
layer.msg("至少保留1个表单字段");
}
})
//重置排序
function resetInputNameID() {
$.each($("#view tr"), function (i, tr) {
$(this).attr('data-id', i);
$(this).find("#id").attr("name", "item.id[" + i + "]");
$(this).find("#name").attr("name", "item.name[" + i + "]");
$(this).find("#type").attr("name", "item.type[" + i + "]");
$(this).find("#value").attr("name", "item.value[" + i + "]");
$(this).find("#defaultValue").attr("name", "item.defaultValue[" + i + "]");
$(this).find("#validationType").attr("name", "item.validationType[" + i + "]");
$(this).find("#required1").attr("name", "item.required[" + i + "]");
$(this).find("#required2").attr("name", "item.required[" + i + "]");
$(this).find("#sort").attr("name", "item.sort[" + i + "]");
});
}
laydate.render({
elem: '#createTime-CoreCmsForm-endDateTime',
type: 'datetime'
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
selectActive: function () {
var numid = $(this).parent().parent().parent().parent().attr('data-id');
console.log('当前表格id' + numid);
var obj_selectgoodsIds = {};
var num_selectgoods = "1";
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['750px', '600px'],
id: 'LAY-app-CoreCmsForm-GetGoodsList',
success: function (layero, index) {
layui.view(this.id).render('common/getGoodIds', null).done(function () {
form.render();
//监听商品列表页工具条
var obj_goodsIds = {};
form.on('submit(LAY-app-CoreCmsGoods-getData)',
function (data) {
//判断个数是否满足
if (Object.getOwnPropertyNames(ids).length > num_selectgoods) {
layer.msg("最多只能选择" + num_selectgoods + "个");
return false;
}
var el = $("#selectgoods_" + numid + "_list")
el.empty();
var the_val = "";
for (var key in ids) {
el.append('<li><span id="' + key + '" >×</span>' + ids[key].name + '</li>');
the_val += "," + key;
}
var inputEl = $("#selectgoods_" + numid + "_input");
inputEl.val(the_val.slice(1));
el.delegate("span", "click", function () {
var ids_array = inputEl.val().split(",");
for (var i = 0; i < ids_array.length; i++) {
if (ids_array[i] == $(this).attr("id")) {
ids_array.splice(i, 1);
}
}
inputEl.val(ids_array.join(","));
$(this).parent().remove();
});
layer.close(index);
});
});
}
});
}
});
form.verify({
verifyname: [/^[\S]{0,100}$/, '表单名称最大只允许输入100位字符且不能出现空格'],
verifydescription: [/^(.|\n){0,500}$/, '表单描述最大只允许输入255位字符且不能出现空格'],
verifyheadTypeValue: [/^[\S]{0,200}$/, '表单头值最大只允许输入200位字符且不能出现空格'],
verifyheadTypeVideo: [/^[\S]{0,200}$/, '表单视频最大只允许输入200位字符且不能出现空格'],
verifybuttonName: [/^[\S]{0,50}$/, '表单提交按钮名称最大只允许输入50位字符且不能出现空格'],
verifybuttonColor: [/^[\S]{0,30}$/, '表单按钮颜色最大只允许输入30位字符且不能出现空格'],
verifyqrcode: [/^[\S]{0,200}$/, '二维码图片地址最大只允许输入200位字符且不能出现空格'],
verifyreturnMsg: [/^[\S]{0,200}$/, '提交后提示语最大只允许输入200位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsForm-createForm');
})
};
//删除图片
function delImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = imgs.indexOf(imageUrl);
if (index > -1) {
imgs.splice(index, 1);
}
$('#imageIds').val(imgs);
}
//设为默认图
function setDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#upload-more-list").prepend(imgDiv);
var index = imgs.indexOf(imageUrl);
if (index > -1) {
imgs.unshift(imgs.splice(index, 1)[0]);
}
$('#imageIds').val(imgs);
}
</script>

View File

@@ -0,0 +1,63 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form seller-alone-form">
<div class="layui-row">
<div class="layui-col-xs6">
<div class="grid-left">
<div class="layui-form-item">
<label class="layui-form-label">总提交</label>
<div class="layui-form-mid layui-inline-2">{{ d.params.data.totalSubmit || '0' }}</div>
</div>
</div>
</div>
<div class="layui-col-xs6">
<div class="grid-right">
<div class="layui-form-item">
<label class="layui-form-label">总金额</label>
<div class="layui-form-mid layui-inline-2">{{ d.params.data.sumSubmit || '0' }}</div>
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-col-xs12">
<div id="main" class="main" style="width: 100%;height: 360px;"></div>
<div carousel-item id="LAY-index-normcol">
<div><i class="layui-icon layui-icon-loading1 layadmin-loading"></i></div>
</div>
</div>
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper', 'echarts'], function () {
var $ = layui.$
, setter = layui.setter
, echarts = layui.echarts
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
var myChart = echarts.init(document.getElementById('main'));
var option = {
tooltip: { show: true },
legend: { "data": ["提交量"] },
yAxis: [{ type: 'value' }],
xAxis: [{ "type": "category", "data": d.params.data.day }],
series: [{ "name": "提交量", "type": "line", "data": d.params.data.data }]
};
myChart.setOption(option);
form.render(null, 'LAY-app-CoreCmsForm-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,582 @@
<style>
#container { padding: 0px; border-radius: 0px; border-width: 0px; }
#img_preview { display: inline; float: left; margin-top: 40px; overflow: hidden; }
.imgdiv { float: left; text-align: center; border: 1px solid #ccc; padding: 5px; padding-bottom: 0; margin-right: 10px; background-color: #fff; }
.layui-upload-img { margin: 0; }
.layui-upload-list { margin: 10px 0; overflow: hidden; }
#operate { margin-top: 5px; }
#operate a { cursor: pointer }
#operate a:hover { color: #009688; }
.sm-input { height: 24px; margin-top: 5px; margin-bottom: 5px !important; }
.table-button { margin-top: 0px; }
.layui-table .layui-form-select, .layui-table .layui-select-title, .layui-table .layui-unselect { height: 24px; }
.layui-table .layui-form-select dl dd, .layui-table .layui-form-select dl dt { line-height: 24px; }
.layui-table .layui-form-radio { margin: 0px 0px 0 0; }
.layui-table .layui-btn { margin-top: 0px; }
</style>
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsForm-editForm" id="LAY-app-CoreCmsForm-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label">表单名称</label>
<div class="layui-input-inline">
<input name="name" id="name" value="{{d.params.data.model.name || '' }}" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入表单名称" placeholder="请输入表单名称" />
</div>
</div>
<div class="layui-form-item">
<label for="type" class="layui-form-label">表单类型</label>
<div class="layui-input-inline">
<select name="type" id="type" lay-verify="required|number" lay-reqText="请选择表单类型">
<option value="">请选择</option>
{{# layui.each(d.params.data.formTypes, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==d.params.data.model.type?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请选择表单类型</div>
</div>
<div class="layui-form-item">
<label for="headType" class="layui-form-label">表头类型</label>
<div class="layui-input-inline">
<select name="headType" id="headType" lay-verify="required|number" lay-reqText="请选择表头类型" lay-filter="head_type">
<option value="">请选择</option>
{{# layui.each(d.params.data.formHeadTypes, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==d.params.data.model.headType?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
<div class="layui-form-mid layui-word-aux">请选择表头类型</div>
</div>
<div class="layui-form-item image">
<label for="imageIds" class="layui-form-label">缩略图集</label>
<div class="layui-input-inline">
<input type="hidden" name="images" id="imageIds" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
<button type="button" class="layui-btn" style="margin-left: 10px;" id="upBtnimageIds"><i class="layui-icon"></i></button>
</div>
<div class="layui-form-mid layui-word-aux">
请选择小于5M的图片进行裁剪上传
</div>
</div>
<div class="layui-form-item image">
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
预览图[第一张图片为默认图可拖动图片进行排序]
<div class="layui-upload-list" id="upload-more-list"></div>
</blockquote>
</div>
<div class="layui-form-item video" style="display: none;">
<label class="layui-form-label">头部视频</label>
<div class="layui-input-inline layui-inline-10">
<input name="headTypeVideo" value="{{d.params.data.model.headTypeVideo || '' }}" id="headTypeVideo" class="layui-input" placeholder="请填写视频播放地址" lay-reqText="请填写视频播放地址" />
</div>
<!--<div class="layui-input-inline">
<button type="button" class="layui-btn" style="margin-left: 10px;" id="video"><i class="layui-icon"></i></button>
</div>
<div id="fileName">
</div>-->
</div>
<div class="layui-form-item layui-upload video" style="display: none;">
<label class="layui-form-label">视频封面</label>
<div class="layui-input-inline layui-inline-10">
<input name="headTypeValue" id="headTypeValue" value="{{ d.params.data.model.headTypeValue }}" class="layui-input" placeholder="请上传视频封面" lay-reqText="请上传视频封面" />
</div>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upBtnimages">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="viewImgBoximages" src="{{d.params.data.model.headTypeValue || layui.setter.noImagePicUrl }}">
<p id="viewTextBoximages"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="description" class="layui-form-label">表单描述</label>
<div class="layui-input-block">
<textarea name="description" id="description" lay-verify="required|verifydescription" placeholder="请输入内容" class="layui-textarea" lay-reqText="请输入表单描述" placeholder="请输入表单描述">{{d.params.data.model.description || '' }}</textarea>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">表单字段</label>
<div class="layui-input-block">
<table class="layui-table" lay-size="sm">
<thead>
<tr>
<th>名称</th>
<th style="width: 100px;">类型</th>
<th style="width: 200px;">字段值</th>
<th>默认值</th>
<th style="width: 112px;">验证类型</th>
<th style="width: 112px;">必填</th>
<th style="width: 112px;">排序</th>
<th style="width: 82px;">操作</th>
</tr>
</thead>
<tbody id="view">
{{# for (var i=0;i<d.params.data.items.length;i++){ }}
<tr data-id="{{i}}">
<td>
<input type="hidden" id="id" name="item.id[{{i}}]" value="{{d.params.data.items[i].id}}" />
<input type="text" id="name" name="item.name[{{i}}]" required value="{{d.params.data.items[i].name}}" placeholder="" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="type" name="item.type[{{i}}]" class="sm-input" style="height: 24px;" lay-filter="change_type">
{{# layui.each(d.params.data.formFieldTypes, function(index, item){ }}
<option value="{{ item.title }}" {{item.title==d.params.data.items[i].type?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</td>
<td class="field_value">
<input type="text" id="value" name="item.value[{{i}}]" required value="{{d.params.data.items[i].value || ''}}" placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<input type="text" id="defaultValue" name="item.defaultValue[{{i}}]" required value="{{d.params.data.items[i].defaultValue || ''}}" lay-verify="" placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="validationType" name="item.validationType[{{i}}]" class="sm-input" style="height: 24px;">
{{# layui.each(d.params.data.formValidationTypes, function(index, item){ }}
<option value="{{ item.description }}" {{item.description==d.params.data.items[i].validationType?'selected="selected"':''}}>{{ item.title }}</option>
{{# }); }}
</select>
</td>
<td>
<input type="radio" id="required1" name="item.required[{{i}}]" value="1" title="是" {{d.params.data.items[i].required==1?'checked':''}}>
<input type="radio" id="required2" name="item.required[{{i}}]" value="2" title="否" {{d.params.data.items[i].required==0?'checked':''}}>
</td>
<td>
<input type="text" id="sort" name="item.sort[{{i}}]" required value="{{ d.params.data.items[i].sort }}" placeholder="" autocomplete="off" class="layui-input seller-inline-1 sm-input">
</td>
<td>
<a class="layui-btn layui-btn-xs addfield-class table-button">添加</a>
<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">删除</a>
</td>
</tr>
{{# } }}
</tbody>
</table>
</div>
<div class="layui-input-block layui-word-aux">
1<font style="color:#ff0000;">字段值默认值填写的内容如果为多词组选择请使用小写的逗号,进行分隔张三,李四,王五</font><br />
2. 类型是商品时可不输入字段名默认值为默认下单数量<br />
3. 类型是金额时字段值可不填
</div>
</div>
<div class="layui-form-item">
<label for="buttonName" class="layui-form-label">按钮名称</label>
<div class="layui-input-inline">
<input name="buttonName" id="buttonName" lay-verify="required|verifybuttonName" class="layui-input" value="{{d.params.data.model.buttonName || '' }}" lay-reqText="请输入表单提交按钮名称" placeholder="请输入表单提交按钮名称" />
</div>
</div>
<div class="layui-form-item">
<label for="buttonColor" class="layui-form-label">按钮颜色</label>
<div class="layui-input-inline">
<input name="buttonColor" id="buttonColor" lay-verify="required|verifybuttonColor" class="layui-input" value="{{d.params.data.model.buttonColor || '' }}" lay-reqText="请输入表单按钮颜色" placeholder="请输入表单按钮颜色" />
</div>
<div class="layui-inline" style="left: -11px;">
<div id="color-form"></div>
</div>
</div>
<div class="layui-form-item" pane>
<label for="isLogin" class="layui-form-label">是否需要登录</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isLogin" id="isLogin" {{ d.params.data.model.isLogin ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
<div class="layui-form-mid layui-word-aux">订单和付款码类型请一定要选择登录哦~</div>
</div>
<div class="layui-form-item">
<label for="times" class="layui-form-label">可提交次数</label>
<div class="layui-input-inline">
<input type="number" name="times" id="times" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.times || 0 }}" placeholder="请输入可提交次数" lay-reqText="请输入可提交次数并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">为0时不限制用户提交次数不为0时请选择需要登录</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort || 1 }}" placeholder="请输入表单排序" lay-reqText="请输入表单排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">数字越小越靠前</div>
</div>
<div class="layui-form-item">
<label for="returnMsg" class="layui-form-label">提交后提示语</label>
<div class="layui-input-inline">
<input name="returnMsg" id="returnMsg" lay-verify="required|verifyreturnMsg" value="{{d.params.data.model.returnMsg || '' }}" class="layui-input" lay-reqText="请输入提交后提示语" placeholder="请输入提交后提示语" />
</div>
<div class="layui-form-mid layui-word-aux">表单提交后给用户展示</div>
</div>
<div class="layui-form-item">
<label for="endDateTime" class="layui-form-label">结束时间</label>
<div class="layui-input-inline">
<input name="endDateTime" id="editTime-CoreCmsForm-endDateTime" type="text" lay-verify="required|datetime" class="layui-input" placeholder="请输入结束时间" lay-reqText="请输入结束时间" value="{{d.params.data.model.endDateTime || '' }}" />
</div>
</div>
<div class="layui-form-item core-hidden">
<div class="layui-input-block">
<div class="layui-footer">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsForm-editForm-submit" id="LAY-app-CoreCmsForm-editForm-submit" value="确认编辑">
</div>
</div>
</div>
</div>
</script>
<script id="tr_tpl" type="text/html">
<tr data-id="{{ d.id }}">
<td>
<input type="hidden" id="id" name="item.id[{{ d.id }}]" value="0" />
<input type="text" id="name" name="item.name[{{ d.id }}]" required value="" placeholder="" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="type" name="item.type[{{ d.id }}]" class="sm-input" style="height: 24px;" lay-filter="change_type">
{{# layui.each(formFieldTypes, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</td>
<td class="field_value">
<input type="text" id="value" name="item.value[{{ d.id }}]" required value="" placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<input type="text" id="defaultValue" name="item.defaultValue[{{ d.id }}]" required value="" placeholder="逗号分割" autocomplete="off" class="layui-input sm-input">
</td>
<td>
<select id="validationType" name="item.validationType[{{ d.id }}]" class="sm-input" style="height: 24px;">
{{# layui.each(formValidationTypes, function(index, item){ }}
<option value="{{ item.description }}">{{ item.title }}</option>
{{# }); }}
</select>
</td>
<td>
<input type="radio" id="required1" name="item.required[{{ d.id }}]" value="1" title="是">
<input type="radio" id="required2" name="item.required[{{ d.id }}]" value="2" title="否" checked>
</td>
<td>
<input type="text" id="sort" name="item.sort[{{ d.id }}]" required value="100" placeholder="" autocomplete="off" class="layui-input seller-inline-1 sm-input">
</td>
<td>
<a class="layui-btn layui-btn-xs addfield-class table-button">
添加
</a>
<a class="layui-btn layui-btn-danger layui-btn-xs del-class table-button">
删除
</a>
</td>
</tr>
</script>
<script id="image_tpl" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="imgdiv">
<img src="{{ item }}" class="layui-upload-img" onclick='layui.coreHelper.viewImage("{{ item }}")' style="width: 100px;height:100px;">
<div id="operate">
<div><a class="del" onclick="delImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setDefault(this,'{{ item }}')"></a></div>
</div>
</div>
{{# }); }}
</script>
<div id="selectgoods" style="display: none;">
<div id="selectgoods_box" class="select_seller_goods_box">
<div>
<a href="javascript:;" class="layui-btn layui-btn-sm" lay-active="selectActive"><i class="iconfont icon-choose1"></i>选择商品</a>
</div>
<input type="hidden" name="item.value[]" id="selectgoods_input" value="">
<ul id="selectgoods_list" class="sellect_seller_goods_list">
</ul>
</div>
</div>
<script>
var $, imgs = [], debug = layui.setter.debug, formFieldTypes, formValidationTypes;
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
formFieldTypes = d.params.data.formFieldTypes;
formValidationTypes = d.params.data.formValidationTypes;
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'laytpl', 'colorpicker', 'util'],
function () {
var form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, colorpicker = layui.colorpicker
, laytpl = layui.laytpl
, util = layui.util
, coreHelper = layui.coreHelper;
$ = layui.$;
laydate.render({
elem: '#editTime-CoreCmsForm-endDateTime',
type: 'datetime'
});
//初始化类型
if (d.params.data.model.headType == 3) {
$(".video").show();
$(".image").hide();
} else {
$(".image").show();
$(".video").hide();
}
//初始化图片
if (d.params.data.model.images) {
imgs = d.params.data.model.images.split(',');
$('#imageIds').val(imgs);
var getTpl = image_tpl.innerHTML, viewBox = document.getElementById('upload-more-list');
laytpl(getTpl).render(imgs, function (html) {
viewBox.innerHTML = html;
});
}
form.on('select(head_type)', function (data) {
var type_id = data.value;
if (type_id == 3) {
$(".video").show();
$(".image").hide();
} else {
$(".image").show();
$(".video").hide();
}
});
form.on('select(change_type)', function (data) {
var type = data.value;
if (type == 'goods') {
var goodsHtml = $("#selectgoods").html();
var tempid = $("#selectgoods").find(".select_seller_goods_box").attr("id");
var id = tempid.split("_");
var currentid = $(data.elem).parent().parent().attr('data-id');
var newid = id[0] + "_" + currentid;
var reg = new RegExp(id[0], "g"); //创建正则RegExp对象
goodsHtml = goodsHtml.replace(reg, newid);
goodsHtml = goodsHtml.replace("[]", "[" + currentid + "]");
$(data.elem).parent().next('.field_value').html(goodsHtml);
var title = $("#" + newid + "_list").html();
form.render();
}
});
//表单赋值
colorpicker.render({
elem: '#color-form'
, color: '#1c97f5'
, done: function (color) {
console.log(color)
$('#buttonColor').val(color);
form.render();
}
});
//封面图图片上传
$('#upBtnimages').click(function () {
cropperImg.cropImg({
aspectRatio: 16 / 9,
imgSrc: $('#viewImgBoximages').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoximages').attr('src', res.data.fileUrl);
$("#headTypeValue").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
//上传缩略图集
$('#upBtnimageIds').click(function () {
cropperImg.cropImg({
aspectRatio: 16 / 9,
imgSrc: $('#viewImgBoximages').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
imgs.push(res.data.fileUrl);
$('#imageIds').val(imgs);
var getTpl = image_tpl.innerHTML, view = document.getElementById('upload-more-list');
laytpl(getTpl).render(imgs, function (html) {
view.innerHTML = html;
});
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
$(".layui-table").on('click', '.addfield-class', function (e) {
var getTpl = tr_tpl.innerHTML;
var lastId = $(this).parent().parent().parent().find('tr').last().attr('data-id');
console.log(lastId);
var tmpData = {};
tmpData.id = parseInt(lastId) + 1;
laytpl(getTpl).render(tmpData, function (html) {
$("#view").append(html);
form.render();
});
});
$(".layui-table").on('click', '.del-class', function (e) {
if ($(".del-class").length > 1) {
$(this).parent().parent().remove();
resetInputNameID();
} else {
layer.msg("至少保留1个表单字段");
}
})
//重置排序
function resetInputNameID() {
$.each($("#view tr"), function (i, tr) {
$(this).attr('data-id', i);
$(this).find("#id").attr("name", "item.id[" + i + "]");
$(this).find("#name").attr("name", "item.name[" + i + "]");
$(this).find("#type").attr("name", "item.type[" + i + "]");
$(this).find("#value").attr("name", "item.value[" + i + "]");
$(this).find("#defaultValue").attr("name", "item.defaultValue[" + i + "]");
$(this).find("#validationType").attr("name", "item.validationType[" + i + "]");
$(this).find("#required1").attr("name", "item.required[" + i + "]");
$(this).find("#required2").attr("name", "item.required[" + i + "]");
$(this).find("#sort").attr("name", "item.sort[" + i + "]");
});
}
laydate.render({
elem: '#createTime-CoreCmsForm-endDateTime',
type: 'datetime'
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
selectActive: function () {
var numid = $(this).parent().parent().parent().parent().attr('data-id');
console.log('当前表格id' + numid);
var obj_selectgoodsIds = {};
var num_selectgoods = "1";
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['750px', '600px'],
id: 'LAY-app-CoreCmsForm-GetGoodsList',
success: function (layero, index) {
layui.view(this.id).render('common/getGoodIds', null).done(function () {
form.render();
//监听商品列表页工具条
var obj_goodsIds = {};
form.on('submit(LAY-app-CoreCmsGoods-getData)',
function (data) {
//判断个数是否满足
if (Object.getOwnPropertyNames(ids).length > num_selectgoods) {
layer.msg("最多只能选择" + num_selectgoods + "个");
return false;
}
var el = $("#selectgoods_" + numid + "_list")
el.empty();
var the_val = "";
for (var key in ids) {
el.append('<li><span id="' + key + '" >×</span>' + ids[key].name + '</li>');
the_val += "," + key;
}
var inputEl = $("#selectgoods_" + numid + "_input");
inputEl.val(the_val.slice(1));
el.delegate("span", "click", function () {
var ids_array = inputEl.val().split(",");
for (var i = 0; i < ids_array.length; i++) {
if (ids_array[i] == $(this).attr("id")) {
ids_array.splice(i, 1);
}
}
inputEl.val(ids_array.join(","));
$(this).parent().remove();
});
layer.close(index);
});
});
}
});
}
});
form.verify({
verifyname: [/^[\S]{0,100}$/, '表单名称最大只允许输入100位字符且不能出现空格'],
verifydescription: [/^(.|\n){0,500}$/, '表单描述最大只允许输入255位字符且不能出现空格'],
verifyheadTypeValue: [/^[\S]{0,200}$/, '表单头值最大只允许输入200位字符且不能出现空格'],
verifyheadTypeVideo: [/^[\S]{0,200}$/, '表单视频最大只允许输入200位字符且不能出现空格'],
verifybuttonName: [/^[\S]{0,50}$/, '表单提交按钮名称最大只允许输入50位字符且不能出现空格'],
verifybuttonColor: [/^[\S]{0,30}$/, '表单按钮颜色最大只允许输入30位字符且不能出现空格'],
verifyqrcode: [/^[\S]{0,200}$/, '二维码图片地址最大只允许输入200位字符且不能出现空格'],
verifyreturnMsg: [/^[\S]{0,200}$/, '提交后提示语最大只允许输入200位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsForm-editForm');
})
};
//删除图片
function delImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = imgs.indexOf(imageUrl);
if (index > -1) {
imgs.splice(index, 1);
}
$('#imageIds').val(imgs);
}
//设为默认图
function setDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#upload-more-list").prepend(imgDiv);
var index = imgs.indexOf(imageUrl);
if (index > -1) {
imgs.unshift(imgs.splice(index, 1)[0]);
}
$('#imageIds').val(imgs);
}
</script>

View File

@@ -0,0 +1,423 @@
<title>表单</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsForm/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsForm-tableBox" lay-filter="LAY-app-CoreCmsForm-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsForm-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" placeholder="请输入表单名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type">
<option value="">请选择表单类型</option>
{{# layui.each(indexData.formTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsForm-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsForm-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsForm-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="qrcode">小程序码</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detail">报表</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsForm-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsForm-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsForm-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsForm/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsForm-toolbar',
pagebar: '#LAY-app-CoreCmsForm-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '表单名称', sort: false },
{ field: 'description', title: '表单描述', sort: false },
{
field: 'type',
title: '表单类型',
width: 100,
align: 'center',
templet: function (data) {
for (var i = 0; i < d.data.formTypes.length; i++) {
if (data.type == d.data.formTypes[i].value) {
return d.data.formTypes[i].description;
}
}
return "";
}
},
{ field: 'isLogin', title: '需要登录', width: 95, templet: '#switch_isLogin', sort: false, unresize: true },
{ field: 'endDateTime', title: '提交截止时间', width: 130, sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ field: 'sort', title: '排序', width: 50, sort: false },
{ width: 222, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsForm-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsForm-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsForm-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsForm-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsForm-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsForm-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
} else if (obj.event === 'qrcode') {
doQrCode(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsForm/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['1200px', '95%'],
id: 'LAY-popup-CoreCmsForm-create',
success: function (layero, index) {
view(this.id).render('content/customform/form/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsForm-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
var formModel = {};
//formModel.id = field.id;
formModel.name = field.name;
formModel.type = field.type;
formModel.sort = field.sort;
if (field.headType == '3') {
formModel.headTypeValue = field.headTypeValue;
formModel.headTypeVideo = field.headTypeVideo;
formModel.images = '';
} else {
formModel.images = field.images;
formModel.headTypeValue = '';
formModel.headTypeVideo = '';
}
formModel.videoPath = field.videoPath;
formModel.description = field.description;
formModel.headType = field.headType;
formModel.buttonName = field.buttonName;
formModel.buttonColor = field.buttonColor;
formModel.isLogin = field.isLogin == 'on';
formModel.times = field.times;
formModel.returnMsg = field.returnMsg;
formModel.endDateTime = field.endDateTime;
var keys = Object.keys(field);
var keysCount = 0;
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf('item.id') != -1) {
keysCount++;
}
}
var items = [];
if (keysCount > 0) {
for (var i = 0; i < keysCount; i++) {
var item = {};
item.id = field['item.id[' + i + ']'];
item.name = field['item.name[' + i + ']'];
item.type = field['item.type[' + i + ']'];
item.validationType = field['item.validationType[' + i + ']'];
item.value = field['item.value[' + i + ']'];
item.defaultValue = field['item.defaultValue[' + i + ']'];
item.required = field['item.required[' + i + ']'] === '1' ? true : false;
item.sort = field['item.sort[' + i + ']'];
items.push(item);
}
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsForm/DoCreate", { model: formModel, items: items }, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsForm-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsForm-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsForm/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['1200px', '95%'],
id: 'LAY-popup-CoreCmsForm-edit',
success: function (layero, index) {
view(this.id).render('content/customform/form/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsForm-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
var formModel = {};
formModel.id = field.id;
formModel.name = field.name;
formModel.type = field.type;
formModel.sort = field.sort;
if (field.headType == '3') {
formModel.headTypeValue = field.headTypeValue;
formModel.headTypeVideo = field.headTypeVideo;
formModel.images = '';
} else {
formModel.images = field.images;
formModel.headTypeValue = '';
formModel.headTypeVideo = '';
}
formModel.videoPath = field.videoPath;
formModel.description = field.description;
formModel.headType = field.headType;
formModel.buttonName = field.buttonName;
formModel.buttonColor = field.buttonColor;
formModel.isLogin = field.isLogin == 'on';
formModel.times = field.times;
formModel.returnMsg = field.returnMsg;
formModel.endDateTime = field.endDateTime;
var keys = Object.keys(field);
var keysCount = 0;
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf('item.id') != -1) {
keysCount++;
}
}
var items = [];
//console.log(item.length);
if (keysCount > 0) {
for (var i = 0; i < keysCount; i++) {
var item = {};
item.id = field['item.id[' + i + ']'];
item.name = field['item.name[' + i + ']'];
item.type = field['item.type[' + i + ']'];
item.validationType = field['item.validationType[' + i + ']'];
item.value = field['item.value[' + i + ']'];
item.defaultValue = field['item.defaultValue[' + i + ']'];
item.required = field['item.required[' + i + ']'] === '1' ? true : false;
item.sort = field['item.sort[' + i + ']'];
items.push(item);
}
}
if (debug) {
console.log(field);
console.log(items);
} //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsForm/DoEdit", { model: formModel, items: items }, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsForm-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsForm-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsForm/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看报表',
area: ['1000px', '500px'],
id: 'LAY-popup-CoreCmsForm-details',
success: function (layero, index) {
view(this.id).render('content/customform/form/details', { data: e.data }).done(function () {
form.render();
});
}
});
} else {
layer.msg(e.msg);
}
});
}
//获取小程序码
function doQrCode(obj) {
coreHelper.Post("Api/Tools/GetFormWxCode", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看小程序码',
area: ['380px', '480px'],
id: 'LAY-popup-CoreCmsForm-QrCode',
success: function (layero, index) {
view(this.id).render('content/customform/form/qrCode', { data: e.data }).done(function () {
form.render();
});
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsForm/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsForm-tableBox');
layer.msg(e.msg);
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isLogin)', function (obj) {
coreHelper.Post("Api/CoreCmsForm/DoSetisLogin", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsForm-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否需要登录-->
<script type="text/html" id="switch_isLogin">
<input type="checkbox" name="switch_isLogin" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isLogin" {{ d.isLogin ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,25 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div style="text-align: center" lay-filter="LAY-app-CoreCmsForm-QrCode" id="LAY-app-CoreCmsForm-QrCode">
<img id="cavasimg" src="{{d.params.data.fileUrl}}" width="300" height="341" style="border: 1px solid #c0c0c0" />
<div style="width: 100%;text-align:center;margin-top: 20px;">
<a class="layui-btn" href="{{d.params.data.fileUrl}}" target="_blank">下载二维码</a>
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsForm-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,143 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsFormSubmit-detailsForm" id="LAY-app-CoreCmsFormSubmit-detailsForm">
<colgroup>
<col width="100">
<col>
</colgroup>
<tbody>
<tr>
<td>
<label for="formName">表单名称</label>
</td>
<td>
{{ d.params.data.model.formName || '' }}
</td>
<td>
<label for="userId">会员</label>
</td>
<td>
{{ d.params.data.model.userName || '' }}
</td>
</tr>
<tr>
<td>
<label for="money">总金额</label>
</td>
<td>
{{ d.params.data.model.money || '0' }}
</td>
<td>
<label for="payStatus">是否支付</label>
</td>
<td>
<input type="checkbox" disabled name="payStatus" value="{{d.params.data.model.payStatus}}" lay-skin="switch" lay-text="是|否" lay-filter="payStatus" {{ d.params.data.model.payStatus ? 'checked' : '' }}>
</td>
</tr>
<tr>
<td>
<label for="status">是否处理</label>
</td>
<td>
<input type="checkbox" disabled name="status" value="{{d.params.data.model.status}}" lay-skin="switch" lay-text="是|否" lay-filter="status" {{ d.params.data.model.status ? 'checked' : '' }}>
</td>
<td>
<label for="ip">提交人ip</label>
</td>
<td>
{{ d.params.data.model.ip || '' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.model.createTime || '' }}
</td>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.model.updateTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="feedback">表单反馈</label>
</td>
<td colspan="3">
{{ d.params.data.model.feedback || '' }}
</td>
</tr>
</tbody>
</table>
<div id="printDiv">
<fieldset class="layui-elem-field layui-field-title site-title">
<legend><a name="compatibility">提交明细</a></legend>
</fieldset>
<table id="formItem"></table>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'table', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, table = layui.table
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
layui.form.render();
layui.table.render({
elem: '#formItem'
, size: 'sm'
, limit: '20000000'
, cols: [[ //标题栏
{ field: 'name', title: '字段名', width: 200 }
, {
field: 'value', title: '字段值', minWidth: 150, templet: function (e) {
//todo 地图处理
if (e.type == 'image') {
var arr = e.value.split(',');
var html = '';
$.each(arr, function (i, j) {
html += '<img src="' + j + '" style="width: 30px;height: 30px;" onclick=layui.coreHelper.viewImage("' + j + '")>';
});
return html;
} else if (Array.isArray(e.value) && e.type == 'goods') {
var html = '';
$.each(e.value, function (i, j) {
html += j + '、';
});
html = html.substr(0, html.length - 1);
return html;
} else {
return e.value;
}
}
}
]]
, data: d.params.data.items
, even: true
});
form.render(null, 'LAY-app-CoreCmsFormSubmit-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,43 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsFormSubmit-editForm" id="LAY-app-CoreCmsFormSubmit-editForm">
<input type="hidden" name="id" value="{{d.params.data.id || '' }}" />
<div class="layui-form-item layui-form-text">
<label for="feedback" class="layui-form-label layui-form-required">表单反馈</label>
<div class="layui-input-block">
<textarea name="data" lay-verify="required|verifyfeedback" class="layui-textarea" placeholder="请输入表单反馈" lay-reqText="请输入表单反馈">
{{d.params.data.feedback || '' }}
</textarea>
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsFormSubmit-editForm-submit" id="LAY-app-CoreCmsFormSubmit-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
form.verify({
verifyfeedback: [/^.{0,250}$/, '表单反馈最大只允许输入127位字符'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsFormSubmit-editForm');
})
};
</script>

View File

@@ -0,0 +1,513 @@
<title>用户对表的提交记录</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsFormSubmit/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsFormSubmit-tableBox" lay-filter="LAY-app-CoreCmsFormSubmit-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsFormSubmit-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<select name="formId">
<option value="">请选择表单</option>
{{# layui.each(indexData.forms, function(index, item){ }}
<option value="{{ item.id }}">{{ item.name }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="userName" placeholder="请输入会员昵称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="payStatus">
<option value="">请选择是否支付</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="status">
<option value="">请选择是否处理</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="ip" placeholder="请输入提交人ip" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsFormSubmit-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsFormSubmit-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsFormSubmit-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">明细</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">反馈</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsFormSubmitTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsFormSubmitTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除吗
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<div id="printImageBox" style="display: none;"></div>
<script>
var CreatedOKLodopObject, CLodopIsLocal, CLodopJsState;
var LODOP;
var $;
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsFormSubmit-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsFormSubmit-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsFormSubmit/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsFormSubmit-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
//{ field: 'formId', title: '表单id', sort: false, width: 105 },
{ field: 'formName', title: '表单名称', sort: false },
{
field: 'userId', title: '会员', sort: false, width: 155, templet: function (data) {
if (data.avatarImage) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + data.avatarImage + '")><image style="max-width:28px;max-height:28px;" src="' + data.avatarImage + '" /></a> ' + data.userName + "" + data.userId + "";
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a> ' + data.userName + "" + data.userId + "";
}
}
},
{ field: 'money', title: '总金额', sort: false, width: 105, templet: function (data) { return '¥' + data.money } },
{ field: 'payStatus', title: '是否支付', width: 95, templet: '#switch_payStatus', sort: false, unresize: true },
{ field: 'status', title: '是否处理', width: 95, templet: '#switch_status', sort: false, unresize: true },
{ field: 'feedback', title: '表单反馈', sort: false, edit: 'text' },
{ field: 'ip', title: '提交人ip', sort: false, width: 105 },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ width: 162, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsFormSubmit-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('toolbar(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'batchDelete':
doBatchDelete(checkStatus);
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsFormSubmit-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//监听单元格编辑
table.on('edit(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
var value = obj.value //得到修改后的值
, data = obj.data //得到所在行所有键值
, field = obj.field; //得到字段
console.log(obj.value);
if (!!!obj.value) {
layer.msg("内容不能为空");
return false;
}
if (field == 'feedback') {
coreHelper.Post("Api/CoreCmsFormSubmit/DoSetFeedback", { id: data.id, data: value }, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox'); //重载表格
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
}
});
//执行表单反馈
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsFormSubmit/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '表单反馈',
area: ['500px', '280px'],
id: 'LAY-popup-CoreCmsFormSubmit-edit',
success: function (layero, index) {
view(this.id).render('content/customform/formsubmit/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsFormSubmit-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsFormSubmit/DoSetFeedback", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsFormSubmit-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//==判断是否需要CLodop(那些不支持插件的浏览器):==
function needCLodop() {
try {
var ua = navigator.userAgent;
if (ua.match(/Windows\sPhone/i))
return true;
if (ua.match(/iPhone|iPod|iPad/i))
return true;
if (ua.match(/Android/i))
return true;
if (ua.match(/Edge\D?\d+/i))
return true;
var verTrident = ua.match(/Trident\D?\d+/i);
var verIE = ua.match(/MSIE\D?\d+/i);
var verOPR = ua.match(/OPR\D?\d+/i);
var verFF = ua.match(/Firefox\D?\d+/i);
var x64 = ua.match(/x64/i);
if ((!verTrident) && (!verIE) && (x64))
return true;
else if (verFF) {
verFF = verFF[0].match(/\d+/);
if ((verFF[0] >= 41) || (x64))
return true;
} else if (verOPR) {
verOPR = verOPR[0].match(/\d+/);
if (verOPR[0] >= 32)
return true;
} else if ((!verTrident) && (!verIE)) {
var verChrome = ua.match(/Chrome\D?\d+/i);
if (verChrome) {
verChrome = verChrome[0].match(/\d+/);
if (verChrome[0] >= 41)
return true;
}
}
return false;
} catch (err) {
return true;
}
}
//==加载引用CLodop的主JS,用双端口8000和18000(以防其中一个被占):==
function loadCLodop() {
if (CLodopJsState == "loading" || CLodopJsState == "complete") return;
CLodopJsState = "loading";
var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
var JS1 = document.createElement("script");
var JS2 = document.createElement("script");
JS1.src = "http://localhost:8000/CLodopfuncs.js?priority=1";
JS2.src = "http://localhost:18000/CLodopfuncs.js";
JS1.onload = JS2.onload = function () { CLodopJsState = "complete"; }
JS1.onerror = JS2.onerror = function (evt) { CLodopJsState = "complete"; }
head.insertBefore(JS1, head.firstChild);
head.insertBefore(JS2, head.firstChild);
CLodopIsLocal = !!((JS1.src + JS2.src).match(/\/\/localho|\/\/127.0.0./i));
}
if (needCLodop()) { loadCLodop(); }//加载
//==获取LODOP对象主过程,判断是否安装、需否升级:==
function getLodop(oOBJECT, oEMBED) {
var strHtmInstall = "<font color='#FF00FF'>打印控件未安装!点击这里<a href='/lib/lodop/install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
var strHtmUpdate = "<font color='#FF00FF'>打印控件需要升级!点击这里<a href='/lib/lodop/install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
var strHtm64_Install = "<font color='#FF00FF'>打印控件未安装!点击这里<a href='/lib/lodop/install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
var strHtm64_Update = "<font color='#FF00FF'>打印控件需要升级!点击这里<a href='/lib/lodop/install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
var strHtmFireFox = "<font color='#FF00FF'>注意如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
var strHtmChrome = "<font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
var strCLodopInstall_1 = "<font color='#FF00FF'>Web打印服务CLodop未安装启动点击这里<a href='/lib/lodop/CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>";
var strCLodopInstall_2 = "(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>";
var strCLodopInstall_3 = ",成功后请刷新本页面。</font>";
var strCLodopUpdate = "<font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='/lib/lodop/CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新页面。</font>";
var LODOP;
try {
var ua = navigator.userAgent;
var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i));
if (needCLodop()) {
try {
LODOP = getCLodop();
} catch (err) { }
if (!LODOP && CLodopJsState !== "complete") {
if (CLodopJsState == "loading") {
layer.alert("网页还没下载完毕,请稍等一下再操作.")
} else {
layer.alert("没有加载CLodop的主js请先调用loadCLodop过程.")
}
return false;
}
if (!LODOP) {
layer.alert(strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3);
return false;
} else {
if (CLODOP.CVERSION < "4.1.0.4") {
layer.alert(strCLodopUpdate);
}
if (oEMBED && oEMBED.parentNode) {
oEMBED.parentNode.removeChild(oEMBED); //清理旧版无效元素
}
if (oOBJECT && oOBJECT.parentNode) {
oOBJECT.parentNode.removeChild(oOBJECT);
}
}
} else {
var is64IE = isIE && !!(ua.match(/x64/i));
//==如果页面有Lodop就直接使用,否则新建:==
if (oOBJECT || oEMBED) {
if (isIE) {
LODOP = oOBJECT;
} else {
LODOP = oEMBED;
}
} else if (!CreatedOKLodopObject) {
LODOP = document.createElement("object");
LODOP.setAttribute("width", 0);
LODOP.setAttribute("height", 0);
LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
if (isIE) {
LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
} else {
LODOP.setAttribute("type", "application/x-print-lodop");
}
document.documentElement.appendChild(LODOP);
CreatedOKLodopObject = LODOP;
} else {
LODOP = CreatedOKLodopObject;
}
//==Lodop插件未安装时提示下载地址:==
if ((!LODOP) || (!LODOP.VERSION)) {
if (ua.indexOf('Chrome') >= 0) {
layer.alert(strHtmChrome);
}
if (ua.indexOf('Firefox') >= 0) {
layer.alert((is64IE ? strHtm64_Install : strHtmInstall) + strHtmFireFox);
}
return LODOP;
}
}
if (LODOP.VERSION < "6.2.2.6") {
if (!needCLodop()) {
layer.alert(is64IE ? strHtm64_Update : strHtmUpdate);
}
}
//===如下空白位置适合调用统一功能(如注册语句、语言选择等):==
//=======================================================
return LODOP;
} catch (err) {
alert("getLodop出错:" + err);
}
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsFormSubmit/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['600px', '90%'],
id: 'LAY-popup-CoreCmsFormSubmit-details',
success: function (layero, index) {
view(this.id).render('content/customform/formsubmit/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}, btn: ['打印', '取消']
, yes: function (index, layero) {
LODOP = getLodop();
LODOP.ADD_PRINT_HTM(20, "5%", "90%", "100%", document.getElementById("printDiv").innerHTML);
LODOP.PREVIEW();
form.render();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsFormSubmit/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox');
layer.msg(e.msg);
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_payStatus)', function (obj) {
coreHelper.Post("Api/CoreCmsFormSubmit/DoSetpayStatus", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_status)', function (obj) {
coreHelper.Post("Api/CoreCmsFormSubmit/DoSetstatus", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsFormSubmit-tableBox');
layer.msg(e.msg);
});
});
laydate.render({
elem: '#searchTime-CoreCmsFormSubmit-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsFormSubmit-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
});
};
</script>
<!--设置是否支付-->
<script type="text/html" id="switch_payStatus">
<input type="checkbox" name="switch_payStatus" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="switch_payStatus" {{ d.payStatus ? 'checked' : '' }}>
</script>
<!--设置是否处理-->
<script type="text/html" id="switch_status">
<input type="checkbox" name="switch_status" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="switch_status" {{ d.status ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,130 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsNotice-createForm" id="LAY-app-CoreCmsNotice-createForm">
<div class="layui-form-item">
<label for="title" class="layui-form-label">公告标题</label>
<div class="layui-input-inline layui-inline-12">
<input name="title" id="title" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" lay-reqText="请输入公告标题" placeholder="请输入公告标题" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过200个字符内容</div>
</div>
<!--<div class="layui-form-item">
<label for="contentBody" class="layui-form-label">公告内容</label>
<div class="layui-input-block">
<textarea name="contentBody" id="contentBody" lay-verType="tips" lay-verify="required" lay-reqText="请输入公告内容" placeholder="请输入公告内容" class="layui-textarea"></textarea>
</div>
</div>-->
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
<div class="document-editor">
<div class="toolbar-container" id="toolbar-container"></div>
<div class="content-container">
<div id="editor"></div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="100" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsNotice-createForm-submit" id="LAY-app-CoreCmsNotice-createForm-submit" value="确认添加">
</div>
</div>
</script>
<style>
#editor { height: 100px; min-height: 200px; }
</style>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
laydate.render({
elem: '#createTime-CoreCmsNotice-createTime',
type: 'datetime'
});
form.verify({
verifytitle: [/^[\S]{0,200}$/, '公告标题最大只允许输入200位字符且不能出现空格'],
});
//重载form
form.render();
})
};
</script>

View File

@@ -0,0 +1,129 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsNotice-editForm" id="LAY-app-CoreCmsNotice-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.id || '' }}" />
<div class="layui-form-item">
<label for="title" class="layui-form-label">公告标题</label>
<div class="layui-input-inline layui-inline-12">
<input name="title" id="title" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" placeholder="请输入公告标题" lay-reqText="请输入公告标题" value="{{d.params.data.title || '' }}" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过200个字符内容</div>
</div>
<!--<div class="layui-form-item">
<label for="contentBody" class="layui-form-label">公告内容</label>
<div class="layui-input-block">
<textarea name="contentBody" id="contentBody" lay-verType="tips" lay-verify="required" lay-reqText="请输入公告内容" placeholder="请输入公告内容" class="layui-textarea">{{d.params.data.contentBody || '' }}</textarea>
</div>
</div>-->
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
<div class="document-editor">
<div class="toolbar-container" id="toolbar-container"></div>
<div class="content-container">
<div id="editor"></div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.sort}}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsNotice-editForm-submit" id="LAY-app-CoreCmsNotice-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#editor'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.params.data.contentBody);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
laydate.render({
elem: '#editTime-CoreCmsNotice-createTime',
type: 'datetime'
});
form.verify({
verifytitle: [/^[\S]{0,200}$/, '公告标题最大只允许输入200位字符且不能出现空格'],
});
//重载form
form.render();
})
};
</script>

View File

@@ -0,0 +1,252 @@
<title>公告表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsNotice/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsNotice-tableBox" lay-filter="LAY-app-CoreCmsNotice-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsNotice-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="title" id="title" placeholder="请输入公告标题" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsNotice-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsNotice-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsNotice-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsNotice-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsNotice-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsNotice-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsNotice/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsNotice-toolbar',
pagebar: '#LAY-app-CoreCmsNotice-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'title', title: '公告标题', sort: false },
{ field: 'contentBody', title: '公告内容', sort: false },
{ field: 'sort', title: '排序', sort: false, width: 105 },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsNotice-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsNotice-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsNotice-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsNotice-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsNotice-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsNotice/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsNotice-create',
success: function (layero, index) {
view(this.id).render('content/notice/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsNotice-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDel = field.isDel == 'on';
field.contentBody = window.editor.getData();
if (!!!field.contentBody) {
layer.msg('文章详情内容不能为空', { icon: 5 });
return false;
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsNotice/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsNotice-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsNotice-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsNotice/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['1200px', '90%'],
id: 'LAY-popup-CoreCmsNotice-edit',
success: function (layero, index) {
view(this.id).render('content/notice/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsNotice-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDel = field.isDel == 'on';
field.contentBody = window.editor.getData();
if (!!!field.contentBody) {
layer.msg('详情内容不能为空', { icon: 5 });
return false;
}
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsNotice/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsNotice-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsNotice-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsNotice/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsNotice-tableBox');
layer.msg(e.msg);
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isDel)', function (obj) {
coreHelper.Post("Api/CoreCmsNotice/DoSetisDel", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsNotice-tableBox');
layer.msg(e.msg);
});
});
//重载form
form.render();
});
};
</script>
<!--设置软删除位 有时间代表已删除-->
<script type="text/html" id="switch_isDel">
<input type="checkbox" name="switch_isDel" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDel" {{ d.isDel ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,148 @@
<div class="layui-form coreshop-search-form">
<div class="layui-form-item">
<label class="layui-form-label">时间范围:</label>
<div class="layui-input-inline layui-inline-4">
<input type="text" name="date" value="" id="date" placeholder="请输入起止时间" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">排名条件:</label>
<div class="layui-input-inline layui-inline-2">
<select name="filter">
<option value="nums">销量</option>
<option value="amount">销售额</option>
</select>
</div>
<label class="layui-form-label">升降序:</label>
<div class="layui-input-inline layui-inline-2">
<select name="thesort">
<option value="desc">降序</option>
<option value="asc">升序</option>
</select>
</div>
<div class="layui-inline">
<div class="">
<button class="layui-btn layui-btn-sm" val="" lay-submit lay-filter="*"><i class="iconfont icon-chaxun"></i>确定</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="1" lay-submit lay-filter="*">今日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="2" lay-submit lay-filter="*">昨日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="3" lay-submit lay-filter="*">本周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="4" lay-submit lay-filter="*">上周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="5" lay-submit lay-filter="*">本月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="6" lay-submit lay-filter="*">上月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="7" lay-submit lay-filter="*">7日内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="8" lay-submit lay-filter="*">一月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="9" lay-submit lay-filter="*">三月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="10" lay-submit lay-filter="*">半年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="11" lay-submit lay-filter="*">一年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="12" lay-submit lay-filter="*">本年度</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="13" lay-submit lay-filter="*">上年度</button>
</div>
</div>
</div>
</div>
<div class="table-body">
<table id="LAY-app-Report-tableBox" lay-filter="LAY-app-Report-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-Report-toolbar">
<div class="report_table_bar"><span><i class="layui-icon layui-icon-triangle-r"></i> </span></div>
</script>
<script type="text/javascript">
var debug = layui.setter.debug;
layui.use(['index', 'element', 'laydate', 'form', 'table', 'coreHelper', 'util', 'table'], function () {
var $ = layui.$;
var form = layui.form;
var element = layui.element;
var coreHelper = layui.coreHelper;
var setter = layui.setter;
var util = layui.util;
var table = layui.table;
var tableData = {};
//时间插件
var date = new Date();
layui.laydate.render({
elem: '#date',
range: '到',
type: 'date',
value: util.toDateString(date, 'yyyy-MM-dd') + ' 到 ' + util.toDateString(date, 'yyyy-MM-dd'),
trigger: 'click'
});
//第一个实例
table.render({
elem: '#LAY-app-Report-tableBox', //指定原始表格元素选择器推荐id选择器
method: 'POST',
toolbar: '#LAY-app-Report-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-159',
cellMinWidth: '80',
//id: 'LAY-app-Report-tableBox',
url: "Api/CoreCmsReports/GetGoods",
page: 'true',
limit: '20',
cols: [[ //表头
{field: 'index', title: '排名', type: 'numbers', width: 60},
{ field: 'nums', title: '销量', align: 'center', width: 60 },
{ field: 'amount', title: '销售额', align: 'center', width: 80 },
{
field: 'imageUrl', width: 60, title: '缩略图', align: 'center', templet: function (data) {
if (data.imageUrl && data.imageUrl!='null' ) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + data.imageUrl + '")><image style="max-width:28px;max-height:28px;" src="' + data.imageUrl + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'name', title: '商品名称', align: 'center' },
{ field: 'addon', title: '规格', align: 'center', width: 250 },
{ field: 'sn', title: '货号', align: 'center', width: 130 }
]]
});
layui.form.on('submit(*)', function (data) {
type = data.elem.getAttribute('val');
if (type != "") {
getTime(type, function (date) {
if (date) {
data.field.date = date;
}
table.reloadData('LAY-app-Report-tableBox', {
where: data.field
, page: {
curr: 1 //重新从第 1 页开始
}
});
});
} else {
table.reloadData('table', {
where: data.field
, page: {
curr: 1 //重新从第 1 页开始
}
});
}
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
//重载form
form.render();
//解析时间按钮
function getTime(type, calback) {
var data = {
id: type
};
coreHelper.Post("Api/CoreCmsReports/GetDateType", data, function (res) {
if (debug) { console.log(res); } //开启调试返回数据
if (res.code == 0) {
//设置时间,回调
$('#date').val(res.data.start + " 到 " + res.data.end);
calback($('#date').val());
} else {
layer.msg(res.msg);
}
});
}
});
</script>

View File

@@ -0,0 +1,143 @@
<script src="/lib/layuiAdmin/lib/extend/echarts.js"></script>
<script src="/lib/layuiAdmin/lib/extend/echartsTheme.js"></script>
<div class="layui-form coreshop-search-form">
<div class="layui-form-item">
<label class="layui-form-label">时间范围:</label>
<div class="layui-input-inline layui-inline-4">
<input type="text" name="date" value="" id="date" placeholder="请输入起止时间" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">升降序:</label>
<div class="layui-input-inline layui-inline-2">
<select name="thesort">
<option value="desc">降序</option>
<option value="asc">升序</option>
</select>
</div>
<div class="layui-inline">
<div class="">
<button class="layui-btn layui-btn-sm" val="" lay-submit lay-filter="*"><i class="iconfont icon-chaxun"></i>确定</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="1" lay-submit lay-filter="*">今日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="2" lay-submit lay-filter="*">昨日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="3" lay-submit lay-filter="*">本周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="4" lay-submit lay-filter="*">上周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="5" lay-submit lay-filter="*">本月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="6" lay-submit lay-filter="*">上月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="7" lay-submit lay-filter="*">7日内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="8" lay-submit lay-filter="*">一月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="9" lay-submit lay-filter="*">三月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="10" lay-submit lay-filter="*">半年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="11" lay-submit lay-filter="*">一年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="12" lay-submit lay-filter="*">本年度</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="13" lay-submit lay-filter="*">上年度</button>
</div>
</div>
</div>
</div>
<div class="table-body">
<table id="table" lay-filter="table"></table>
</div>
<script type="text/html" id="LAY-app-Report-toolbar">
<div class="report_table_bar"><span><i class="layui-icon layui-icon-triangle-r"></i> </span></div>
</script>
<script type="text/javascript">
var debug = layui.setter.debug;
layui.use(['index', 'element', 'laydate', 'form', 'table', 'coreHelper', 'util', 'table'], function () {
var $ = layui.$;
var form = layui.form;
var element = layui.element;
var coreHelper = layui.coreHelper;
var table = layui.table;
var util = layui.util;
var setter = layui.setter;
var tableData = {};
//时间插件
var date = new Date();
layui.laydate.render({
elem: '#date',
range: '到',
type: 'date',
value: util.toDateString(date, 'yyyy-MM-dd') + ' 到 ' + util.toDateString(date, 'yyyy-MM-dd'),
trigger: 'click'
});
//第一个实例
table.render({
elem: '#table', //指定原始表格元素选择器推荐id选择器
method: 'POST',
toolbar: '#LAY-app-Report-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-159',
cellMinWidth: '80',
id: 'table',
url: "Api/CoreCmsReports/GetGoodsCollection",
page: 'true',
limit: '20',
cols: [[ //表头
{ field: 'nums', title: '收藏量', align: 'center', width: 80 },
{
field: 'images', width: 100, title: '缩略图', align: 'center', templet: function (data) {
if (data.images && data.images != 'null') {
var images = data.images.split(',');
if (images.length > 0) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + images[0] + '")><image style="max-width:28px;max-height:28px;" src="' + images[0] + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'goodsName', title: '商品名称', align: 'center' }
]]
});
layui.form.on('submit(*)', function (data) {
type = data.elem.getAttribute('val');
if (type != "") {
getTime(type, function (date) {
if (date) {
data.field.date = date;
}
table.reloadData('table', {
where: data.field
, page: {
curr: 1 //重新从第 1 页开始
}
});
});
} else {
table.reloadData('table', {
where: data.field
, page: {
curr: 1 //重新从第 1 页开始
}
});
}
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
//重载form
form.render();
//解析时间按钮
function getTime(type, calback) {
var data = {
id: type
};
coreHelper.Post("Api/CoreCmsReports/GetDateType", data, function (res) {
if (debug) { console.log(res); } //开启调试返回数据
if (res.code == 0) {
//设置时间,回调
$('#date').val(res.data.start + " 到 " + res.data.end);
calback($('#date').val());
} else {
layer.msg(res.msg);
}
});
}
});
</script>

View File

@@ -0,0 +1,153 @@
<script src="/lib/layuiAdmin/lib/extend/echarts.js"></script>
<script src="/lib/layuiAdmin/lib/extend/echartsTheme.js"></script>
<div class="layui-form coreshop-search-form">
<div class="layui-form-item">
<label class="layui-form-label">时间范围:</label>
<div class="layui-input-inline layui-inline-4">
<input type="text" name="date" value="" id="date" placeholder="请输入起止时间" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">粒度:</label>
<div class="layui-input-inline layui-inline-2">
<select name="section" id="section">
<option value="1">小时</option>
<option value="2" selected="selected"></option>
</select>
</div>
<div class="layui-inline">
<div class="">
<button class="layui-btn layui-btn-sm" val="" lay-submit lay-filter="*"><i class="iconfont icon-chaxun"></i>确定</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="1" lay-submit lay-filter="*">今日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="2" lay-submit lay-filter="*">昨日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="3" lay-submit lay-filter="*">本周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="4" lay-submit lay-filter="*">上周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="5" lay-submit lay-filter="*">本月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="6" lay-submit lay-filter="*">上月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="7" lay-submit lay-filter="*">7日内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="8" lay-submit lay-filter="*">一月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="9" lay-submit lay-filter="*">三月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="10" lay-submit lay-filter="*">半年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="11" lay-submit lay-filter="*">一年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="12" lay-submit lay-filter="*">本年度</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="13" lay-submit lay-filter="*">上年度</button>
</div>
</div>
</div>
</div>
<div class="table-body">
<div id="main" style="height:400px;padding:10px;"></div>
<table id="LAY-app-Report-tableBox" lay-filter="LAY-app-Report-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-Report-toolbar">
<div class="report_table_bar"><span><i class="layui-icon layui-icon-triangle-r"></i> </span></div>
</script>
<script type="text/javascript">
var debug = layui.setter.debug;
layui.use(['index', 'element', 'laydate', 'form', 'table', 'coreHelper', 'util', 'table'], function () {
var $ = layui.$;
var form = layui.form;
var element = layui.element;
var coreHelper = layui.coreHelper;
var util = layui.util;
var table = layui.table;
var tableData = {};
//时间插件
var date = new Date();
layui.laydate.render({
elem: '#date',
range: '到',
type: 'date',
value: util.toDateString(date, 'yyyy-MM-dd') + ' 到 ' + util.toDateString(date, 'yyyy-MM-dd'),
trigger: 'click'
});
layui.form.on('submit(*)', function (data) {
type = data.elem.getAttribute('val');
if (type != "") {
getTime(type, function () {
order_report();
});
} else {
order_report();
}
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
//数据绑定
table.render({
elem: '#LAY-app-Report-tableBox',
method: 'POST',
toolbar: '#LAY-app-Report-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
//height: 'full-127',
page: false,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
totalRow: true,
cols: [
[
{ field: 'x', title: '日期', width: 150 }
, { field: 'order_all_val', title: '全部金额', width: 150, totalRow: true }
, { field: 'order_all_num', title: '全部数量', width: 150, totalRow: true }
, { field: 'order_nopay_val', title: '待支付金额', width: 150, totalRow: true }
, { field: 'order_nopay_num', title: '待支付数量', width: 150, totalRow: true }
, { field: 'order_payed_val', title: '已付款金额', width: 150, totalRow: true }
, { field: 'order_payed_num', title: '已付款数量', width: 150, totalRow: true }
]
]
});
//重载form
form.render();
//取值
function order_report() {
var data = {
date: $('#date').val(),
section: $('#section').val()
};
coreHelper.Post("Api/CoreCmsReports/GetOrder", data, function (res) {
if (debug) { console.log(res); } //开启调试返回数据
if (res.code == 0) {
//刷新折线图
var myChart = echarts.init(document.getElementById('main'));
option = res.data.option;
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
//刷新table
layui.table.reloadData('LAY-app-Report-tableBox', {
data: res.data.table
});
tableData = res.data.table;
} else {
layer.msg(res.msg);
}
});
}
//解析时间按钮
function getTime(type, calback) {
var data = {
id: type
};
coreHelper.Post("Api/CoreCmsReports/GetDateType", data, function (res) {
if (debug) { console.log(res); } //开启调试返回数据
if (res.code == 0) {
//设置时间,回调
$('#date').val(res.data.start + " 到 " + res.data.end);
calback();
} else {
layer.msg(res.msg);
}
});
}
function table_export() {
layui.table.exportFile('table', tableData);
}
order_report();
});
</script>

View File

@@ -0,0 +1,177 @@
<script src="/lib/layuiAdmin/lib/extend/echarts.js"></script>
<script src="/lib/layuiAdmin/lib/extend/echartsTheme.js"></script>
<div class="layui-form coreshop-search-form">
<div class="layui-form-item">
<label class="layui-form-label">时间范围:</label>
<div class="layui-input-inline layui-inline-4">
<input type="text" name="date" value="" id="date" placeholder="请输入起止时间" autocomplete="off" class="layui-input">
</div>
<label class="layui-form-label">粒度:</label>
<div class="layui-input-inline layui-inline-2">
<select name="section" id="section">
<option value="1">小时</option>
<option value="2" selected="selected"></option>
</select>
</div>
<div class="layui-inline">
<div class="">
<button class="layui-btn layui-btn-sm" val="" lay-submit lay-filter="*"><i class="iconfont icon-chaxun"></i>确定</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="1" lay-submit lay-filter="*">今日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="2" lay-submit lay-filter="*">昨日</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="3" lay-submit lay-filter="*">本周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="4" lay-submit lay-filter="*">上周</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="5" lay-submit lay-filter="*">本月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="6" lay-submit lay-filter="*">上月</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="7" lay-submit lay-filter="*">7日内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="8" lay-submit lay-filter="*">一月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="9" lay-submit lay-filter="*">三月内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="10" lay-submit lay-filter="*">半年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="11" lay-submit lay-filter="*">一年内</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="12" lay-submit lay-filter="*">本年度</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" val="13" lay-submit lay-filter="*">上年度</button>
</div>
</div>
</div>
</div>
<div class="table-body">
<div id="main" style="height:400px;padding:10px;"></div>
<table id="LAY-app-Report-tableBox" lay-filter="LAY-app-Report-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-Report-toolbar">
<div class="report_table_bar"><span><i class="layui-icon layui-icon-triangle-r"></i> </span></div>
</script>
<script type="text/javascript">
var debug = layui.setter.debug;
layui.use(['index', 'element', 'laydate', 'form', 'table', 'coreHelper', 'util', 'table'], function () {
var $ = layui.$;
var form = layui.form;
var element = layui.element;
var coreHelper = layui.coreHelper;
var util = layui.util;
var table = layui.table;
var tableData = {};
//时间插件
var date = new Date();
layui.laydate.render({
elem: '#date',
range: '到',
type: 'date',
value: util.toDateString(date, 'yyyy-MM-dd') + ' 到 ' + util.toDateString(date, 'yyyy-MM-dd'),
trigger: 'click'
});
layui.form.on('submit(*)', function (data) {
type = data.elem.getAttribute('val');
if (type != "") {
getTime(type, function () {
order_report();
});
} else {
order_report();
}
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
//数据绑定
table.render({
elem: '#LAY-app-Report-tableBox',
method: 'POST',
toolbar: '#LAY-app-Report-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
//height: 'full-127',
page: false,
cellMinWidth: '80',
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
totalRow: true,
cols: [
[
{ field: 'x', title: '日期', width: 150 }
, { field: 'payments_all_val', title: '收款单金额', width: 100, totalRow: true }
, { field: 'payments_all_num', title: '收款单笔数', width: 100, totalRow: true }
, { field: 'payments_order_val', title: '订单收款金额', width: 100, totalRow: true }
, { field: 'payments_order_num', title: '订单收款笔数', width: 100, totalRow: true }
, { field: 'payments_order_refund_val', title: '订单退款金额', width: 100, totalRow: true }
, { field: 'payments_order_refund_num', title: '订单退款笔数', width: 100, totalRow: true }
, { field: 'payments_recharge_val', title: '充值金额', width: 100, totalRow: true }
, { field: 'payments_recharge_num', title: '充值笔数', width: 100, totalRow: true }
, { field: 'payments_tocash_val', title: '提现金额', width: 100, totalRow: true }
, { field: 'payments_tocash_num', title: '提现笔数', width: 100, totalRow: true }
]
]
});
layui.table.render({
id: 'table'
, elem: '#table'
, page: false //开启分页
, limit: '1000'
, totalRow: true
, cols: [[ //表头
]]
});
$('#tableExport').on('click', function () {
layui.table.exportFile('table', tableData);
});
//取值
function order_report() {
var data = {
date: $('#date').val(),
section: $('#section').val()
};
coreHelper.Post("Api/CoreCmsReports/GetPayments", data, function (res) {
if (debug) { console.log(res); } //开启调试返回数据
if (res.code == 0) {
//刷新折线图
var myChart = echarts.init(document.getElementById('main'));
option = res.data.option;
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
//刷新table
layui.table.reloadData('LAY-app-Report-tableBox', {
data: res.data.table
});
tableData = res.data.table;
} else {
layer.msg(res.msg);
}
});
}
//解析时间按钮
function getTime(type, calback) {
var data = {
id: type
};
coreHelper.Post("Api/CoreCmsReports/GetDateType", data, function (res) {
if (debug) { console.log(res); } //开启调试返回数据
if (res.code == 0) {
//设置时间,回调
$('#date').val(res.data.start + " 到 " + res.data.end);
calback();
} else {
layer.msg(res.msg);
}
});
}
function table_export() {
layui.table.exportFile('table', tableData);
}
order_report();
//重载form
form.render();
});
</script>

View File

@@ -0,0 +1,126 @@
<title>库存操作详情表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsStockLog/GetIndex" lay-done="layui.data.done(d);">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="stockId" placeholder="请输入关联单号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type">
<option value="">请选择类型</option>
{{# layui.each(d.data.stockType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsStock-createTime" placeholder="请输入时间段" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsStockLog-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsStockLog-tableBox" lay-filter="LAY-app-CoreCmsStockLog-tableBox"></table>
</div>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsStock-createTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var where = { productId: d.params.data.id };
//监听搜索
form.on('submit(LAY-app-CoreCmsStockLog-search)',
function (data) {
var field = data.field;
field.productId = d.params.data.id;
//执行重载
table.reloadData('LAY-app-CoreCmsStockLog-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsStockLog-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsStockLog/GetPageList',
method: 'POST',
where: where,
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-289',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 40, sort: false },
{ field: 'stockId', title: '关联单号', sort: false, width: 150 },
{ field: 'goodsName', title: '商品名称', sort: false },
{ field: 'spesDesc', title: '货品规格', sort: false },
//{ field: 'productId', title: '货品序列', sort: false, width: 105 },
//{ field: 'goodsId', title: '商品序列', sort: false, width: 105 },
{ field: 'sn', title: '货品编码', sort: false, width: 130 },
{ field: 'bn', title: '商品编码', sort: false, width: 130 },
{ field: 'nums', title: '数量', sort: false, width: 85 },
{ field: 'createTime', title: '时间', sort: false, width: 130 },
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsStockLog-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsStockLog-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
});
};
</script>

View File

@@ -0,0 +1,256 @@
<title>货品表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsProducts/GetIndex" lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-Products-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="barcode" placeholder="请输入商品编码" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="sn" placeholder="请输入货品条码" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="spesDesc" placeholder="请输入货品规格" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsProducts-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
<div class="layui-inline layui-inline-6 float-right">
<div class="layui-form-mid float-right text-right text-red">
<i class="layui-icon layui-icon-tips"></i>
</div>
</div>
</div>
</div>
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsProducts-tableBox" lay-filter="LAY-app-CoreCmsProducts-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsProducts-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="detail">记录</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsProducts-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsProducts-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsProducts-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsProducts/GetPageList',
method: 'POST',
toolbar: '#LAY-app-Products-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{
field: 'images', title: '图片', width: 50, sort: false,
templet: function (d) {
if (d.images) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.images + '")><image style="max-width:28px;max-height:28px;" src="' + d.images + '"/></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '"/></a>';
}
}
},
{ field: 'name', title: '商品名称', sort: false },
{ field: 'spesDesc', title: '规格值', sort: false },
{ field: 'barcode', title: '商品条码', sort: false, width: 125 },
{ field: 'sn', title: '货品编码', sort: false, width: 130 },
{ field: 'price', title: '销售价', sort: false, width: 60 },
{ field: 'costprice', title: '成本价', sort: false, width: 60 },
{ field: 'mktprice', title: '市场价', sort: false, width: 60 },
//{ field: 'marketable', title: '是否上架', width: 95, templet: '#switch_marketable', sort: false, unresize: true },
{ field: 'weight', title: '重量(千克)', sort: false, width: 80 },
{ field: 'unit', title: '单位', sort: false, width: 60 },
{ field: 'stock', title: '库存(单机编辑)', sort: false, width: 120, edit: 'text' },
{
field: 'freezeStock', title: '冻结库存', sort: false, width: 80, templet: function (data) {
if (data.freezeStock > 0) {
return "<button type=\"button\" class=\"layui-btn layui-btn-warm layui-btn-xs\">" + data.freezeStock + "</button>";
} else {
return data.freezeStock;
}
}
},
//{ field: 'isDefalut', title: '是否默认货品', width: 95, templet: '#switch_isDefalut', sort: false, unresize: true },
//{ field: 'isDel', title: '是否删除', width: 95, templet: '#switch_isDel', sort: false, unresize: true },
{ width: 62, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsProducts-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsProducts-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsProducts-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听工具条
table.on('tool(LAY-app-CoreCmsProducts-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
}
});
//监听单元格编辑
table.on('edit(LAY-app-CoreCmsProducts-tableBox)', function (obj) {
var value = obj.value //得到修改后的值
, data = obj.data //得到所在行所有键值
, field = obj.field; //得到字段
console.log(obj.value);
if (!!!obj.value) {
layer.msg("不能为空");
return false;
}
if(obj.value < 0) {
layer.msg('库存不能为负数');
table.reloadData('LAY-app-CoreCmsProducts-tableBox');
return false;
}
if (field == 'stock') {
if (coreHelper.isNumber(obj.value)) {
layer.confirm('确定要将库存设置为 ' + obj.value + " 吗?", {
btn: ['确定', '取消']
}, function (index, layero) {
coreHelper.Post("Api/CoreCmsProducts/DoSetStock", { id: data.id, data: value }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsProducts-tableBox');
layer.close(index); //再执行关闭
layer.msg(e.msg);
});
});
} else {
layer.msg("库存必须为数字");
table.reloadData('LAY-app-CoreCmsProducts-tableBox');
return false;
}
} else if (field == 'freezeStock') {
if (coreHelper.isNumber(obj.value)) {
coreHelper.Post("Api/CoreCmsHouseCategory/DoSetFreezeStock", { id: data.id, data: value }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsProducts-tableBox');
layer.msg(e.msg);
});
} else {
layer.msg("冻结库存必须为数字");
return false;
}
}
});
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsProducts/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看记录',
area: ['1230px', '90%'],
id: 'LAY-popup-CoreCmsProducts-details',
success: function (layero, index) {
view(this.id).render('content/stock/products/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
});
};
</script>
<!--设置是否上架-->
<script type="text/html" id="switch_marketable">
<input type="checkbox" name="switch_marketable" lay-skin="switch" lay-text="开启|关闭" disabled="disabled" lay-filter="switch_marketable" {{ d.marketable ? 'checked' : '' }}>
</script>
<!--设置是否默认货品-->
<script type="text/html" id="switch_isDefalut">
<input type="checkbox" name="switch_isDefalut" lay-skin="switch" lay-text="开启|关闭" disabled="disabled" lay-filter="switch_isDefalut" {{ d.isDefalut ? 'checked' : '' }}>
</script>
<!--设置是否删除-->
<script type="text/html" id="switch_isDel">
<input type="checkbox" name="switch_isDel" lay-skin="switch" lay-text="开启|关闭" disabled="disabled" lay-filter="switch_isDel" {{ d.isDel ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,155 @@
<title>库存操作详情表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsStockLog/GetIndex" lay-done="layui.data.done(d);">
</script>
<script type="text/html" id="LAY-app-CoreCmsStockLog-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="stockId" placeholder="请输入关联单号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="sn" placeholder="请输入货品编码" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="bn" placeholder="请输入商品编码" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="goodsName" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type">
<option value="">请选择类型</option>
{{# layui.each(indexData.stockType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsStock-createTime" placeholder="请输入时间段" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsStockLog-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsStockLog-tableBox" lay-filter="LAY-app-CoreCmsStockLog-tableBox"></table>
</div>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsStockLog-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsStockLog-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsStockLog-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsStockLog/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsStockLog-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 40, sort: false },
{ field: 'stockId', title: '关联单号', sort: false, width: 150 },
{ field: 'goodsName', title: '商品名称', sort: false },
{ field: 'spesDesc', title: '货品规格', sort: false },
//{ field: 'productId', title: '货品序列', sort: false, width: 105 },
//{ field: 'goodsId', title: '商品序列', sort: false, width: 105 },
{
field: 'type', title: '操作类型', sort: false, width: 105, templet: function (data) {
for (var i = 0; i < d.data.stockType.length; i++) {
if (data.type == d.data.stockType[i].value) {
return d.data.stockType[i].description;
}
}
return "";
}
},
{ field: 'sn', title: '货品编码', sort: false, width: 130 },
{ field: 'bn', title: '商品编码', sort: false, width: 130 },
{ field: 'nums', title: '数量', sort: false, width: 105 },
{ field: 'createTime', title: '时间', sort: false, width: 130 },
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsStockLog-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsStockLog-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
laydate.render({
elem: '#searchTime-CoreCmsStock-createTime',
type: 'datetime',
range: '到',
});
});
};
</script>

View File

@@ -0,0 +1,168 @@
<style>
.clearfix:after, .clearfix:before { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; margin-bottom: 5px; }
.layui-btn-group { vertical-align: text-top; }
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsStock-createForm" id="LAY-app-CoreCmsStock-createForm">
<input type="hidden" name="id" value="{{layui.coreHelper.getSN('iin')}}" />
<div class="layui-form-item">
<label for="type" class="layui-form-label layui-form-required">操作类型</label>
<div class="layui-input-block">
{{# layui.each(d.params.data.stockType, function(index, item){ }}
<input type="radio" name="type" value="{{ item.value }}" title="{{ item.description }}" lay-verify="required">
{{# }); }}
<!--<select name="type" lay-verify="required" lay-reqText="请选择入库单类型">
<option value="">请选择出库入库类型</option>
{{# layui.each(d.params.data.stockType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>-->
</div>
</div>
<div class="layui-form-item">
<label for="memo" class="layui-form-label layui-form-required">备注</label>
<div class="layui-input-block">
<input name="memo" lay-verType="tips" lay-verify="required|verifymemo" class="layui-input" value="无" placeholder="请输入备注" />
</div>
</div>
<div class="layui-form-item">
<label for="memo" class="layui-form-label layui-form-required">选择货品</label>
<div class="layui-input-block" style="padding: 0 0 10px 10px;" id="father">
<div id="element" class="clearfix myBox" data-id="0">
<label class="layui-form-label layui-form-required">选择货品</label>
<div class="pro clearfix">
<div class="layui-input-inline layui-inline-13">
<select name="item.productId[0]" id="productId" lay-verify="required">
<option value="">根据商品名称货品编号搜索</option>
{{# layui.each(d.params.data.products, function(index, item){ }}
<option value="{{ item.id }}">商品名称{{ item.name }}{{ item.spesDesc ? '-'+item.spesDesc :''}}货品编号{{ item.sn }}当前库存{{ item.stock }}</option>
{{# }); }}
</select>
</div>
<div class="layui-input-inline layui-inline-2">
<input type="number" placeholder="数量" name="item.nums[0]" id="nums" class="layui-input" lay-verify="required|number">
</div>
<div class="layui-input-inline layui-inline-3">
<div class="layui-btn-group">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm add">
<i class="layui-icon">&#xe654;</i>
</button>
<!--<button type="button" class="layui-btn layui-btn-primary layui-btn-sm del">
<i class="layui-icon">&#xe640;</i>
</button>-->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsStock-createForm-submit" id="LAY-app-CoreCmsStock-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script id="tr_tpl" type="text/html">
<div id="element" class="clearfix myBox" data-id="{{ d.id }}">
<label class="layui-form-label layui-form-required">选择货品</label>
<div class="pro clearfix">
<div class="layui-input-inline layui-inline-13">
<select name="item.productId[{{ d.id }}]" id="productId" lay-verify="required">
<option value="">根据商品名称货品编号搜索</option>
{{# layui.each(paramsData, function(index, item){ }}
<option value="{{ item.id }}">商品名称{{ item.name }}{{ item.spesDesc ? '-'+item.spesDesc :''}}货品编号{{ item.sn }}当前库存{{ item.stock }}</option>
{{# }); }}
</select>
</div>
<div class="layui-input-inline layui-inline-2">
<input type="number" placeholder="数量" name="item.nums[{{ d.id }}]" value="1" id="nums" class="layui-input" lay-verify="required|number">
</div>
<div class="layui-input-inline layui-inline-3">
<div class="layui-btn-group">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm add">
<i class="layui-icon">&#xe654;</i>
</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm del">
<i class="layui-icon">&#xe640;</i>
</button>
</div>
</div>
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
var paramsData;
layui.data.done = function (d) {
paramsData = d.params.data.products;
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg', 'laytpl'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, laytpl = layui.laytpl
, coreHelper = layui.coreHelper;
$("#father").on('click', '.add', function (e) {
var getTpl = tr_tpl.innerHTML;
var lastId = $(this).parents("#element").parent().find('.myBox').last().attr('data-id');
console.log(lastId);
var tmpData = {};
tmpData.id = parseInt(lastId) + 1;
laytpl(getTpl).render(tmpData, function (html) {
$("#father").append(html);
form.render();
});
});
$("#father").on('click', '.del', function (e) {
if ($(".del").length >= 1) {
$(this).parents("#element").remove();
resetInputNameID();
} else {
layer.msg("至少保留1个表单字段");
}
})
//重置排序
function resetInputNameID() {
$.each($("#father .myBox"), function (i, tr) {
$(this).attr('data-id', i);
$(this).find("#id").attr("name", "item.id[" + i + "]");
$(this).find("#nums").attr("name", "item.nums[" + i + "]");
});
form.render();
}
form.verify({
verifyid: [/^.{0,20}$/, '序列最大只允许输入20位字符'],
verifymemo: [/^.{0,200}$/, '备注最大只允许输入200位字符'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsStock-createForm');
})
};
</script>

View File

@@ -0,0 +1,71 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">操作类型</label>
<div class="layui-inline-4 layui-form-mid">
{{ d.params.data.model.type==1 ? '入库':'出库' }}
</div>
<label class="layui-form-label">操作员</label>
<div class="layui-inline-4 layui-form-mid">
{{ d.params.data.manager ? d.params.data.manager.nickName :'' }}
</div>
<label class="layui-form-label">时间</label>
<div class="layui-inline-4 layui-form-mid">
{{ d.params.data.model.createTime || '' }}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-inline-12 layui-form-mid">
{{ d.params.data.model.memo || '' }}
</div>
</div>
</div>
<table class="layui-table layui-form" id="LAY-app-CoreCmsStockLog-tableBox"></table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper', 'table'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, table = layui.table
, coreHelper = layui.coreHelper
, form = layui.form;
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsStockLog-tableBox',
data: d.params.data.logs,
method: 'POST',
defaultToolbar: ['filter', 'print', 'exports'],
height: '300px',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ field: 'id', title: '序列', width: 40, sort: false },
//{ field: 'stockId', title: '关联单号', sort: false, width: 150 },
{ field: 'goodsName', title: '商品名称', sort: false },
{ field: 'spesDesc', title: '货品规格', sort: false },
{ field: 'sn', title: '货品编码', sort: false, width: 130 },
{ field: 'bn', title: '商品编码', sort: false, width: 130 },
{ field: 'nums', title: '数量', sort: false, width: 60 },
]
]
});
form.render(null, 'LAY-app-CoreCmsStock-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,267 @@
<title>库存操作表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsStock/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsStock-tableBox" lay-filter="LAY-app-CoreCmsStock-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsStock-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="id">序列</label>
<div class="layui-input-inline">
<input type="text" name="id" placeholder="请输入序列" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type">
<option value="">请选择类型</option>
{{# layui.each(indexData.stockType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" for="memo">备注</label>
<div class="layui-input-inline">
<input type="text" name="memo" placeholder="请输入备注" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" for="createTime">创建时间</label>
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsStock-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsStock-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsStock-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsStock-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsStock-createTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsStock-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsStock-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsStock-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsStock/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsStock-toolbar',
pagebar: '#LAY-app-CoreCmsStock-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '单号', sort: false, width: 130 },
{
field: 'type', title: '操作类型', sort: false, width: 105, templet: function (data) {
for (var i = 0; i < d.data.stockType.length; i++) {
if (data.type == d.data.stockType[i].value) {
return d.data.stockType[i].description;
}
}
return "";
}
},
{ field: 'managerName', title: '操作员', sort: false, width: 150 },
{ field: 'memo', title: '备注', sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ width: 62, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsStock-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsStock-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsStock-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsStock-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsStock-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsStock-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsStock/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建单据',
area: ['95%', '90%'],
id: 'LAY-popup-CoreCmsStock-create',
success: function (layero, index) {
view(this.id).render('content/stock/stocks/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsStock-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (!!!field.type) {
layer.msg("请选择操作类型")
return false;
}
var keys = Object.keys(field);
var keysCount = 0;
for (var i = 0; i < keys.length; i++) {
if (keys[i].indexOf('item.productId') != -1) {
keysCount++;
}
}
var items = [];
if (keysCount > 0) {
for (var i = 0; i < keysCount; i++) {
var item = {};
item.productId = field['item.productId[' + i + ']'];
item.nums = field['item.nums[' + i + ']'];
items.push(item);
}
}
field.items = items;
var model = {};
model.id = field.id;
model.type = field.type;
model.memo = field.memo;
field.model = model;
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsStock/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsStock-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsStock-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsStock/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['1000px', '500px'],
id: 'LAY-popup-CoreCmsStock-details',
success: function (layero, index) {
view(this.id).render('content/stock/stocks/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
//$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
});
};
</script>

View File

@@ -0,0 +1,152 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsDistribution-detailsForm" id="LAY-app-CoreCmsDistribution-detailsForm">
<colgroup>
<col width="150">
<col>
</colgroup>
<tbody>
<tr>
<td style="width: 20%;">
<label for="id">序列</label>
</td>
<td style="width: 30%;">
{{ d.params.data.model.id || '' }}
</td>
<td style="width: 20%;">
<label for="userId">用户Id</label>
</td>
<td style="width: 30%;">
{{ d.params.data.model.userId || '' }}
</td>
</tr>
<tr>
<td>
<label for="name">分销商名称</label>
</td>
<td>
{{ d.params.data.model.name || '' }}
</td>
<td>
<label for="gradeId">分销等级</label>
</td>
<td>
{{# layui.each(d.params.data.grades, function(index, item){ }}
{{# if(item.id === d.params.data.model.gradeId){ }}
<button class="layui-btn layui-btn-xs">{{ item.name }}</button>
{{# } }}
{{# }); }}
</td>
</tr>
<tr>
<td>
<label for="mobile">手机号</label>
</td>
<td>
{{ d.params.data.model.mobile || '' }}
</td>
<td>
<label for="weixin">微信号</label>
</td>
<td>
{{ d.params.data.model.weixin || '' }}
</td>
</tr>
<tr>
<td>
<label for="qq">qq号</label>
</td>
<td colspan="3">
{{ d.params.data.model.qq || '' }}
</td>
</tr>
<tr>
<td>
<label for="storeName">店铺名称</label>
</td>
<td colspan="3">
{{ d.params.data.model.storeName || '' }}
</td>
</tr>
<tr>
<td>
<label for="storeLogo">店铺Logo</label>
</td>
<td>
<img src=" {{ d.params.data.model.storeLogo ? d.params.data.model.storeLogo:'/static/images/common/empty-banner.png' }}" />
</td>
<td>
<label for="storeBanner">店铺Banner</label>
</td>
<td>
<img src=" {{ d.params.data.model.storeBanner ? d.params.data.model.storeBanner:'/static/images/common/empty-banner.png' }}" />
</td>
</tr>
<tr>
<td>
<label for="storeDesc">店铺简介</label>
</td>
<td colspan="3">
{{ d.params.data.model.storeDesc || '' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.model.createTime || '' }}
</td>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.model.updateTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="verifyStatus">审核状态</label>
</td>
<td>
{{# layui.each(d.params.data.distributionVerifyStatus, function(index, item){ }}
{{# if(item.value === d.params.data.model.verifyStatus){ }}
<button class="layui-btn layui-btn-xs">{{ item.description }}</button>
{{# } }}
{{# }); }}
</td>
<td>
<label for="verifyTime">审核时间</label>
</td>
<td>
{{ d.params.data.model.verifyTime || '' }}
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsDistribution-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,96 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsDistribution-editForm" id="LAY-app-CoreCmsDistribution-editForm">
<input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
<input type="hidden" name="userId" value="{{d.params.data.model.userId || '' }}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label layui-form-required">分销商名称</label>
<div class="layui-input-inline">
<input name="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" placeholder="请输入分销商名称" lay-reqText="请输入分销商名称" value="{{d.params.data.model.name || '' }}" />
</div>
<label for="mobile" class="layui-form-label layui-form-required">手机号</label>
<div class="layui-input-inline">
<input name="mobile" lay-verType="tips" lay-verify="required|phone" class="layui-input" placeholder="请输入手机号" lay-reqText="请输入手机号" value="{{d.params.data.model.mobile || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="weixin" class="layui-form-label layui-form-required">微信号</label>
<div class="layui-input-inline">
<input name="weixin" lay-verType="tips" lay-verify="required|verifyweixin" class="layui-input" placeholder="请输入微信号" lay-reqText="请输入微信号" value="{{d.params.data.model.weixin || '' }}" />
</div>
<label for="qq" class="layui-form-label layui-form-required">qq号</label>
<div class="layui-input-inline">
<input name="qq" lay-verType="tips" lay-verify="required|number" class="layui-input" placeholder="请输入qq号" lay-reqText="请输入qq号" value="{{d.params.data.model.qq || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="gradeId" class="layui-form-label layui-form-required">分销等级</label>
<div class="layui-input-inline">
<select name="gradeId" id="gradeId">
<option value="">请选择</option>
{{# layui.each(d.params.data.grades, function(index, item){ }}
<option value="{{ item.id }}" {{item.id==d.params.data.model.gradeId?'selected="selected"':''}}>{{ item.name }}</option>
{{# }); }}
</select>
</div>
<label for="verifyStatus" class="layui-form-label layui-form-required">审核状态</label>
<div class="layui-input-inline">
<select name="verifyStatus" id="verifyStatus">
<option value="">请选择</option>
{{# layui.each(d.params.data.distributionVerifyStatus, function(index, item){ }}
<option value="{{ item.value }}" {{item.value==d.params.data.model.verifyStatus?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistribution-editForm-submit" id="LAY-app-CoreCmsDistribution-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
laydate.render({
elem: '#editTime-CoreCmsDistribution-createTime',
type: 'datetime'
});
laydate.render({
elem: '#editTime-CoreCmsDistribution-updateTime',
type: 'datetime'
});
laydate.render({
elem: '#editTime-CoreCmsDistribution-verifyTime',
type: 'datetime'
});
form.verify({
verifyname: [/^[\S]{0,255}$/, '分销商名称最大只允许输入255位字符且不能出现空格'],
verifymobile: [/^[\S]{0,50}$/, '手机号最大只允许输入50位字符且不能出现空格'],
verifyweixin: [/^[\S]{0,50}$/, '微信号最大只允许输入50位字符且不能出现空格'],
verifyqq: [/^[\S]{0,50}$/, 'qq号最大只允许输入50位字符且不能出现空格'],
verifystoreName: [/^[\S]{0,255}$/, '店铺名称最大只允许输入255位字符且不能出现空格'],
verifystoreLogo: [/^[\S]{0,255}$/, '店铺Logo最大只允许输入255位字符且不能出现空格'],
verifystoreBanner: [/^[\S]{0,255}$/, '店铺Banner最大只允许输入255位字符且不能出现空格'],
verifystoreDesc: [/^[\S]{0,255}$/, '店铺简介最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsDistribution-editForm');
})
};
</script>

View File

@@ -0,0 +1,311 @@
<title>分销商表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsDistribution/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsDistribution-tableBox" lay-filter="LAY-app-CoreCmsDistribution-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsDistribution-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" placeholder="请输入分销商名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="mobile" placeholder="请输入手机号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="weixin" placeholder="请输入微信号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="qq" placeholder="请输入qq号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="storeName" placeholder="请输入店铺名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="verifyStatus">
<option value="">请选择审核状态</option>
{{# layui.each(indexData.distributionVerifyStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="gradeId">
<option value="">请选择分销等级</option>
{{# layui.each(indexData.grades, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsDistribution-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsDistribution-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">审核</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsDistributionTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsDistributionTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px; white-space: normal; min-width: auto; margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除{{d.name}}
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
function () {
var $ = layui.$, admin = layui.admin, table = layui.table, form = layui.form, laydate = layui.laydate, setter = layui.setter, coreHelper = layui.coreHelper, util = layui.util, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsDistribution-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsDistribution-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsDistribution-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsDistribution/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsDistribution-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'userId', title: '用户序列', sort: false, width: 65 },
{ field: 'name', title: '分销商名称', sort: false, width: 105 },
{
field: 'gradeId', title: '分销等级', sort: false, width: 65, templet: function (data) {
for (var i = 0; i < d.data.grades.length; i++) {
if (d.data.grades[i].id == data.gradeId) {
return d.data.grades[i].name;
}
}
}
},
//{ field: 'gradeId', title: '分销等级', sort: false, width: 105 },
{ field: 'mobile', title: '手机号', sort: false, width: 90 },
{ field: 'weixin', title: '微信号', sort: false, width: 90 },
{ field: 'qq', title: 'qq号', sort: false, width: 90 },
{ field: 'storeName', title: '店铺名称', sort: false },
{
field: 'storeLogo', title: 'Logo', sort: false, width: 60, templet: function (d) {
if (d.storeLogo) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.storeLogo + '")><image style="max-width:28px;max-height:28px;" src="' + d.storeLogo + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{
field: 'storeBanner', title: 'Banner', sort: false, width: 60, templet: function (d) {
if (d.storeBanner) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.storeBanner + '")><image style="max-width:28px;max-height:28px;" src="' + d.storeBanner + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
//{ field: 'storeDesc', title: '店铺简介', sort: false, width: 105 },
{
field: 'verifyStatus', title: '审核状态', sort: false, width: 80, templet: function (data) {
for (var i = 0; i < d.data.distributionVerifyStatus.length; i++) {
if (d.data.distributionVerifyStatus[i].value == data.verifyStatus) {
return d.data.distributionVerifyStatus[i].description;
}
}
}
},
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ field: 'verifyTime', title: '审核时间', width: 130, sort: false },
//{ field: 'isDelete', title: '是否删除', width: 95, templet: '#switch_isDelete', sort: false, unresize: true },
{ width: 142, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsDistribution-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsDistribution-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsDistribution-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsDistribution-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//监听工具条
table.on('tool(LAY-app-CoreCmsDistribution-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsDistribution/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['640px', '300px'],
id: 'LAY-popup-CoreCmsDistribution-edit',
success: function (layero, index) {
view(this.id).render('distribution/distributor/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistribution-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDelete = field.isDelete == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistribution/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsDistribution-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistribution-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsDistribution/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['700px', '550px'],
id: 'LAY-popup-CoreCmsDistribution-details',
success: function (layero, index) {
view(this.id).render('distribution/distributor/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
//console.log(obj.data.id);
coreHelper.Post("Api/CoreCmsDistribution/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsDistribution-tableBox');
layer.msg(e.msg);
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isDelete)', function (obj) {
coreHelper.Post("Api/CoreCmsDistribution/DoSetisDelete", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsDistribution-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否删除-->
<script type="text/html" id="switch_isDelete">
<input type="checkbox" name="switch_isDelete" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDelete" {{ d.isDelete ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,246 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsDistributionCondition-createForm" id="LAY-app-CoreCmsDistributionCondition-createForm">
<input type="hidden" name="gradeId" value="{{d.params.gradeId }}" />
<div class="layui-form-item">
<label for="code" class="layui-form-label layui-form-required">升级条件</label>
<div class="layui-input-block">
<select name="condition_code" id="condition_code" lay-verType="tips" lay-verify="required" lay-reqText="请选择升级条件" lay-filter="conditionCode">
<option value="">请选择升级条件</option>
{{# layui.each(d.params.data.distributionConditionsCode, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div id="conditionBox"></div>
<div class="layui-form-item text-center core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistributionCondition-createForm-submit" id="LAY-app-CoreCmsDistributionCondition-createForm-submit" value="提交升级条件">
</div>
</div>
</script>
<script id="user_orders_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">个人消费</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">满多少</label>
<div class="layui-input-inline layui-inline-2">
<input name="money" lay-verify="title" autocomplete="off" value="1" placeholder="金额" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">消费金额满多少的时候升级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">期限</label>
<div class="layui-input-inline layui-inline-2">
<select name="limit_day">
<option value="0">不限制</option>
<option value="7">7</option>
<option value="30">1个月</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">在指定时间内消费够升级</div>
</div>
</script>
<script id="user_ordersnum_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">个人订单量</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">订单量</label>
<div class="layui-input-inline layui-inline-2">
<input name="num" lay-verify="title" autocomplete="off" value="1" placeholder="数量" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">消费多少笔订单的时候升级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">期限</label>
<div class="layui-input-inline layui-inline-2">
<select name="limit_day">
<option value="0">不限制</option>
<option value="7">7</option>
<option value="30">1个月</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">选择后在指定时间内消费够订单数量升级</div>
</div>
</script>
<script id="goods_all_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">所有商品都满足条件</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">条件</label>
<div class="layui-form-mid">
无需设置任何条件直接点击完成
</div>
</div>
</script>
<script id="goodsIds_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">指定商品id</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商品id</label>
<div class="layui-input-block">
<div id="goods_box" class="select_seller_goods_box">
<div>
<button class="layui-btn" lay-active="goods_show"><i class="layui-icon layui-icon-ok"></i></button>
</div>
<input type="hidden" name="goodsId" id="goodsId" value="">
<ul id="goods_list" class="sellect_seller_goods_list">
</ul>
</div>
</div>
</div>
</script>
<script id="user_grade_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">指定用户等级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i></label>
<div class="layui-input-block">
{{# layui.each(d.data.userGrades, function(index, item){ }}
<input type="radio" name="grade" lay-skin="primary" value="{{ item.id }}" title="{{ item.title }}" {{ item.isDefault? 'checked="checked"':'' }}>
{{# }); }}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">数量</label>
<div class="layui-input-inline layui-inline-2">
<input name="num" lay-verify="title" autocomplete="off" value="" placeholder="数量" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">下线指定等级达到多少数量升级</div>
</div>
</script>
<script id="group_orders_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">团队消费</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">满多少</label>
<div class="layui-input-inline layui-inline-2">
<input name="money" lay-verify="title" autocomplete="off" value="" placeholder="金额" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">消费金额满多少的时候升级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">期限</label>
<div class="layui-input-inline layui-inline-2">
<select name="limit_day">
<option value="0">不限制</option>
<option value="7">7</option>
<option value="30">1个月</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">在指定时间内消费够升级</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'laytpl', 'util', 'view', 'table'],
function () {
var $ = layui.$, form = layui.form, admin = layui.admin, util = layui.util, upload = layui.upload, coreHelper = layui.coreHelper, laytpl = layui.laytpl, view = layui.view, table = layui.table;
form.on('select(conditionCode)', function (data) {
$('#code').val(data.value);
var view = document.getElementById('conditionBox');
$("#conditionBox").empty();
if (data.value === 'USER_ORDERS') {//个人消费总额(已完成的订单)
var getTpl = user_orders_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'USER_ORDERSNUM') { //个人订单数量(已完成的订单)
var getTpl = user_ordersnum_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'GOODS_ALL') { //所有商品满足条件
var getTpl = goods_all_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'GOODS_IDS') { //购买指定商品
var getTpl = goodsIds_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'USER_GRADE') { //直推几个指定用户等级
var getTpl = user_grade_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'GROUP_ORDERS') { //团队消费总额
var getTpl = group_orders_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
}
form.render();
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
goods_show: function () {
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['750px', '90%'],
id: 'LAY-app-CoreCmsPinTuanRule-createForm-GetGoodsList',
success: function (layero, index) {
view(this.id).render('common/getGoodIds', null).done(function () {
form.render();
//监听商品列表页工具条
form.on('submit(LAY-app-CoreCmsGoods-getData)',
function (data) {
if (Object.getOwnPropertyNames(ids).length === 0) {
layer.msg("请先选择商品");
return;
}
//判断个数是否满足
if (Object.getOwnPropertyNames(ids).length > 10) {
layer.msg("最多只能选择" + 10 + "个");
return false;
}
$("#goods_list").empty();
var the_val = "";
for (var key in ids) {
$("#goods_list").append('<li><span id="' + key + '" lay-active="goodsDelete">×</span>' + ids[key].name + '</li>');
the_val += "," + key;
}
$("#goodsId").val(the_val.slice(1));
layer.close(index);
});
});
}
});
},
goodsDelete: function () {
var ids_array = $("#goodsId").val().split(",");
for (var i = 0; i < ids_array.length; i++) {
if (ids_array[i] == $(this).attr("id")) {
ids_array.splice(i, 1);
}
}
$("#goodsId").val(ids_array.join(","));
$(this).parent().remove();
}
});
form.verify({
verifycode: [/^[\S]{0,50}$/, '升级条件编码最大只允许输入50位字符且不能出现空格'],
verifyparameters: [/^[\S]{0,255}$/, '其它参数最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsDistributionCondition-createForm');
})
};
</script>

View File

@@ -0,0 +1,288 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsDistributionCondition-editForm" id="LAY-app-CoreCmsDistributionCondition-editForm">
<input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
<input type="hidden" name="gradeId" value="{{d.params.data.model.gradeId || '' }}" />
<div class="layui-form-item">
<label for="code" class="layui-form-label layui-form-required">升级条件</label>
<div class="layui-input-block">
<select name="condition_code" id="condition_code" lay-verType="tips" lay-verify="required" lay-reqText="请选择升级条件" lay-filter="conditionCode">
<option value="">请选择升级条件</option>
{{# layui.each(d.params.data.distributionConditionsCode, function(index, item){ }}
<option value="{{ item.title }}" {{item.title==d.params.data.model.code?'selected="selected"':''}}>{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div id="conditionBox"></div>
<div class="layui-form-item text-center core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistributionCondition-editForm-submit" id="LAY-app-CoreCmsDistributionCondition-editForm-submit" value="提交升级条件">
</div>
</div>
</script>
<script id="user_orders_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">个人消费</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">满多少</label>
<div class="layui-input-inline layui-inline-2">
<input name="money" lay-verify="title" autocomplete="off" value="{{d.money || 1}}" placeholder="金额" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">消费金额满多少的时候升级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">期限</label>
<div class="layui-input-inline layui-inline-2">
<select name="limit_day">
<option value="0" {{d.limit_day=='0'?'selected="selected"':''}}>不限制</option>
<option value="7" {{d.limit_day=='7'?'selected="selected"':''}}>7</option>
<option value="30" {{d.limit_day=='30'?'selected="selected"':''}}>1个月</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">在指定时间内消费够升级</div>
</div>
</script>
<script id="user_ordersnum_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">个人订单量</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">订单量</label>
<div class="layui-input-inline layui-inline-2">
<input name="num" lay-verify="title" autocomplete="off" value="{{d.num || 1}}" placeholder="数量" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">消费多少笔订单的时候升级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">期限</label>
<div class="layui-input-inline layui-inline-2">
<select name="limit_day">
<option value="0" {{d.limit_day=='0'?'selected="selected"':''}}>不限制</option>
<option value="7" {{d.limit_day=='7'?'selected="selected"':''}}>7</option>
<option value="30" {{d.limit_day=='30'?'selected="selected"':''}}>1个月</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">选择后在指定时间内消费够订单数量升级</div>
</div>
</script>
<script id="goods_all_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">所有商品都满足条件</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">条件</label>
<div class="layui-form-mid">
无需设置任何条件直接点击完成
</div>
</div>
</script>
<script id="goodsIds_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">指定商品id</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商品id</label>
<div class="layui-input-block">
<div id="goods_box" class="select_seller_goods_box">
<div>
<button class="layui-btn" lay-active="goods_show"><i class="layui-icon layui-icon-ok"></i></button>
</div>
<input type="hidden" name="goodsId" id="goodsId" value="">
<ul id="goods_list" class="sellect_seller_goods_list">
</ul>
</div>
</div>
</div>
</script>
<script id="user_grade_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">指定用户等级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><i class="required-color">*</i></label>
<div class="layui-input-block">
{{# layui.each(d.data.userGrades, function(index, item){ }}
<input type="radio" name="grade" lay-skin="primary" value="{{ item.id }}" title="{{ item.title }}" {{ item.id== d.grade 'checked="checked"':'' }}>
{{# }); }}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">数量</label>
<div class="layui-input-inline layui-inline-2">
<input name="num" lay-verify="title" autocomplete="off" value="{{d.num || 1}}" placeholder="数量" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">下线指定等级达到多少数量升级</div>
</div>
</script>
<script id="group_orders_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">条件名称</label>
<div class="layui-form-mid">团队消费</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">满多少</label>
<div class="layui-input-inline layui-inline-2">
<input name="money" lay-verify="title" autocomplete="off" value="{{d.money || 1}}" placeholder="金额" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">消费金额满多少的时候升级</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">期限</label>
<div class="layui-input-inline layui-inline-2">
<select name="limit_day">
<option value="0" {{d.limit_day=='0'?'selected="selected"':''}}>不限制</option>
<option value="7" {{d.limit_day=='7'?'selected="selected"':''}}>7</option>
<option value="30" {{d.limit_day=='30'?'selected="selected"':''}}>1个月</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">在指定时间内消费够升级</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'laytpl', 'util', 'view', 'table'],
function () {
var $ = layui.$, form = layui.form, admin = layui.admin, util = layui.util, upload = layui.upload, coreHelper = layui.coreHelper, laytpl = layui.laytpl, view = layui.view, table = layui.table;
var code = d.params.data.model.code;
var obj = JSON.parse(d.params.data.model.parameters);
var conditionBox = document.getElementById('conditionBox');
$("#conditionBox").empty();
if (code === 'USER_ORDERS') {//个人消费总额(已完成的订单)
var getTpl = user_orders_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { conditionBox.innerHTML = html; });
} else if (code === 'USER_ORDERSNUM') { //个人订单数量(已完成的订单)
var getTpl = user_ordersnum_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { conditionBox.innerHTML = html; });
} else if (code === 'GOODS_ALL') { //所有商品满足条件
var getTpl = goods_all_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { conditionBox.innerHTML = html; });
} else if (code === 'GOODS_IDS') { //购买指定商品
var getTpl = goodsIds_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { conditionBox.innerHTML = html; });
if (obj.goodsId) {
var goodsIds = obj.goodsId.split(',');
coreHelper.Post("Api/Tools/GetGoodsByIds", { id: goodsIds }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
$("#goods_list").empty();
var the_val = "";
for (var i = 0; i < e.data.length; i++) {
$("#goods_list").append('<li><span id="' + e.data[i].id + '" lay-active="goodsDelete">×</span>' + e.data[i].name + '</li>');
the_val += "," + e.data[i].id;
}
$("#goodsId").val(the_val.slice(1));
});
}
} else if (code === 'USER_GRADE') { //直推几个指定用户等级
var getTpl = user_grade_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
} else if (code === 'GROUP_ORDERS') { //团队消费总额
var getTpl = group_orders_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
}
form.on('select(conditionCode)', function (data) {
$('#code').val(data.value);
var view = document.getElementById('conditionBox');
$("#conditionBox").empty();
if (data.value === 'USER_ORDERS') {//个人消费总额(已完成的订单)
var getTpl = user_orders_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'USER_ORDERSNUM') { //个人订单数量(已完成的订单)
var getTpl = user_ordersnum_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'GOODS_ALL') { //所有商品满足条件
var getTpl = goods_all_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'GOODS_IDS') { //购买指定商品
var getTpl = goodsIds_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'USER_GRADE') { //直推几个指定用户等级
var getTpl = user_grade_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'GROUP_ORDERS') { //团队消费总额
var getTpl = group_orders_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
}
form.render();
});
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
goods_show: function () {
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['750px', '90%'],
id: 'LAY-app-CoreCmsPinTuanRule-createForm-GetGoodsList',
success: function (layero, index) {
view(this.id).render('common/getGoodIds', null).done(function () {
form.render();
//监听商品列表页工具条
form.on('submit(LAY-app-CoreCmsGoods-getData)',
function (data) {
if (Object.getOwnPropertyNames(ids).length === 0) {
layer.msg("请先选择商品");
return;
}
//判断个数是否满足
if (Object.getOwnPropertyNames(ids).length > 10) {
layer.msg("最多只能选择" + 10 + "个");
return false;
}
$("#goods_list").empty();
var the_val = "";
for (var key in ids) {
$("#goods_list").append('<li><span id="' + key + '" lay-active="goodsDelete">×</span>' + ids[key].name + '</li>');
the_val += "," + key;
}
$("#goodsId").val(the_val.slice(1));
layer.close(index);
});
});
}
});
},
goodsDelete: function () {
var ids_array = $("#goodsId").val().split(",");
for (var i = 0; i < ids_array.length; i++) {
if (ids_array[i] == $(this).attr("id")) {
ids_array.splice(i, 1);
}
}
$("#goodsId").val(ids_array.join(","));
$(this).parent().remove();
}
});
form.verify({
verifycode: [/^[\S]{0,50}$/, '升级条件编码最大只允许输入50位字符且不能出现空格'],
verifyparameters: [/^[\S]{0,255}$/, '其它参数最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsDistributionCondition-editForm');
})
};
</script>

View File

@@ -0,0 +1,71 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsDistributionGrade-createForm" id="LAY-app-CoreCmsDistributionGrade-createForm">
<div class="layui-form-item">
<label for="name" class="layui-form-label layui-form-required">等级名称</label>
<div class="layui-input-block">
<input name="name" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入等级名称" placeholder="请输入等级名称" />
</div>
</div>
<div class="layui-form-item">
<label for="isDefault" class="layui-form-label layui-form-required">默认等级</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isDefault" lay-skin="switch" lay-text="开启|关闭">
</div>
<div class="layui-form-mid layui-word-aux">当前等级是否默认分销商等级</div>
</div>
<div class="layui-form-item">
<label for="isAutoUpGrade" class="layui-form-label layui-form-required">自动升级</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isAutoUpGrade" lay-skin="switch" lay-text="开启|关闭" checked="checked">
</div>
<div class="layui-form-mid layui-word-aux">开启后可根据升级条件自动升级</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label layui-form-required">等级排序</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="sortId" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入等级排序" lay-reqText="请输入等级排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">数字越大等级越高</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="description" class="layui-form-label layui-form-required">等级说明</label>
<div class="layui-input-block">
<textarea name="description" lay-verify="required|verifydescription" class="layui-textarea" lay-reqText="请输入等级说明" placeholder="请输入等级说明" />
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistributionGrade-createForm-submit" id="LAY-app-CoreCmsDistributionGrade-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^.{0,25}$/, '等级名称最大只允许输入25位字符'],
verifydescription: [/^.{0,250}$/, '等级说明最大只允许输入250位字符'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsDistributionGrade-createForm');
})
};
</script>

View File

@@ -0,0 +1,530 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsDistributionGrade-editForm" id="LAY-app-CoreCmsDistributionGrade-editForm">
<input type="hidden" name="id" value="{{ d.params.data.model.id }}" />
<div class="layui-form-item">
<label class="layui-form-label">等级名称</label>
<div class="layui-input-block">
<input name="name" lay-verify="required|verifyname" class="layui-input" placeholder="请输入等级名称" lay-reqText="请输入等级名称" value="{{d.params.data.model.name || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="isDefault" class="layui-form-label">是否默认等级</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isDefault" {{ d.params.data.model.isDefault ? 'checked' : '' }} lay-skin="switch" lay-text="是|否">
</div>
<div class="layui-form-mid layui-word-aux">当前等级是否默认分销商等级</div>
</div>
<div class="layui-form-item">
<label for="isAutoUpGrade" class="layui-form-label">自动升级</label>
<div class="layui-input-inline layui-inline-2">
<input type="checkbox" lay-filter="switch" name="isAutoUpGrade" {{ d.params.data.model.isAutoUpGrade ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
<div class="layui-form-mid layui-word-aux">开启后可根据升级条件自动升级</div>
</div>
<div class="layui-form-item">
<label for="sortId" class="layui-form-label">等级排序</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="sortId" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sortId || '0' }}" placeholder="请输入等级排序" lay-reqText="请输入等级排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">数字越大等级越高</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="description" class="layui-form-label">等级说明</label>
<div class="layui-input-block">
<textarea name="description" lay-verify="required|verifydescription" class="layui-textarea" placeholder="请输入等级说明" lay-reqText="请输入等级说明">{{d.params.data.model.description || '' }}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">
升级条件
</label>
<div class="layui-input-block" style="padding: 10px;">
<button class="layui-btn layui-btn-xs" lay-submit lay-filter="conditionAdd">添加条件</button>
<table id="condition" lay-filter="condition"></table>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">
佣金设置
</label>
<div class="layui-input-block" style="padding: 10px;">
<button class="layui-btn layui-btn-xs" lay-submit lay-filter="resultAdd">添加佣金</button>
<table id="result" lay-filter="result"></table>
</div>
</div>
<div class="layui-form-item text-center core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistributionGrade-editForm-submit" id="LAY-app-CoreCmsDistributionGrade-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script type="text/html" id="LAY-app-condition-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="conditionEdit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="conditionDel">删除</a>
</script>
<script type="text/html" id="LAY-app-result-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="resultEdit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="resultDel">删除</a>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'view', 'table'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, view = layui.view
, table = layui.table
, coreHelper = layui.coreHelper;
//升级条件表格渲染
var conditionTables = layui.table.render({
elem: '#condition'
, size: 'sm'
, method: 'post'
, url: "Api/CoreCmsDistributionGrade/GetDistributionConditionPageList"
, where: { gradeId: d.params.data.model.id }
, cols: [[ //标题栏
{ field: 'code', width: 140, title: '条件代码' },
{ field: 'name', width: 140, title: '条件名称' }
, { field: 'parameters', title: '参数' }
, { width: 120, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-condition-tableBox-bar' }
]]
, even: true
});
//监听工具条
table.on('tool(condition)',
function (obj) {
if (obj.event === 'conditionEdit') {
doCnditionEdit(obj);
} else if (obj.event === 'conditionDel') {
doConditionDel(obj)
}
});
//添加升级条件
form.on('submit(conditionAdd)', function (data) {
coreHelper.Post("Api/CoreCmsDistributionGrade/GetDistributionConditionCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '添加升级条件',
area: ['800px', '400px'],
id: 'LAY-popup-CoreCmsDistributionCondition-create',
success: function (layero, index) {
view(this.id).render('distribution/grade/conditionCreate', { data: e.data, gradeId: d.params.data.model.id }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistributionCondition-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (!!!field.condition_code) {
layer.msg("请先选择促销条件");
return false;
}
var postData = {};
var parameters = {};
postData.gradeId = field.gradeId;
postData.code = field.condition_code;
if (field.condition_code === 'USER_ORDERS') {//个人消费总额(已完成的订单)
if (!!!field.money) {
layer.msg("请输入金额");
return false;
}
parameters.money = field.money;
parameters.limit_day = field.limit_day;
} else if (field.condition_code === 'USER_ORDERSNUM') { //个人订单数量(已完成的订单)
if (!!!field.num) {
layer.msg("请输入订单量");
return false;
}
parameters.num = field.num;
parameters.limit_day = field.limit_day;
} else if (field.condition_code === 'GOODS_ALL') { //所有商品满足条件
parameters.num = 1;
} else if (field.condition_code === 'GOODS_IDS') { //购买指定商品
if (!!!field.goodsId) {
layer.msg("请选择商品");
return false;
}
parameters.goodsId = field.goodsId;
} else if (field.condition_code === 'USER_GRADE') { //直推几个指定用户等级
if (!!!field.num) {
layer.msg("请输入等级数量");
return false;
}
parameters.num = field.num;
parameters.num = field.grade;
} else if (field.condition_code === 'GROUP_ORDERS') { //团队消费总额
if (!!!field.money) {
layer.msg("请输入金额");
return false;
}
parameters.money = field.money;
parameters.limit_day = field.limit_day;
}
postData.parameters = JSON.stringify(parameters);
if (debug) { console.log(field); console.log(postData); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistributionGrade/DoDistributionConditionCreate", postData, function (e) {
console.log(e)
if (e.code === 0) {
conditionTables.reload(); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistributionCondition-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
return false;
});
//升级条件编辑
function doCnditionEdit(obj) {
var id = obj.data.id;
coreHelper.Post("Api/CoreCmsDistributionGrade/GetDistributionConditionEdit", { id: id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑升级条件',
area: ['800px', '400px'],
id: 'LAY-popup-CoreCmsDistributionCondition-edit',
success: function (layero, index) {
view(this.id).render('distribution/grade/conditionEdit', { data: e.data, gradeId: d.params.data.model.id }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistributionCondition-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (!!!field.condition_code) {
layer.msg("请先选择促销条件");
return false;
}
var postData = {};
var parameters = {};
postData.id = field.id;
postData.gradeId = field.gradeId;
postData.code = field.condition_code;
if (field.condition_code === 'USER_ORDERS') {//个人消费总额(已完成的订单)
if (!!!field.money) {
layer.msg("请输入金额");
return false;
}
parameters.money = field.money;
parameters.limit_day = field.limit_day;
} else if (field.condition_code === 'USER_ORDERSNUM') { //个人订单数量(已完成的订单)
if (!!!field.num) {
layer.msg("请输入订单量");
return false;
}
parameters.num = field.num;
parameters.limit_day = field.limit_day;
} else if (field.condition_code === 'GOODS_ALL') { //所有商品满足条件
parameters.num = 1;
} else if (field.condition_code === 'GOODS_IDS') { //购买指定商品
if (!!!field.goodsId) {
layer.msg("请选择商品");
return false;
}
parameters.goodsId = field.goodsId;
} else if (field.condition_code === 'USER_GRADE') { //直推几个指定用户等级
if (!!!field.num) {
layer.msg("请输入等级数量");
return false;
}
parameters.num = field.num;
parameters.num = field.grade;
} else if (field.condition_code === 'GROUP_ORDERS') { //团队消费总额
if (!!!field.money) {
layer.msg("请输入金额");
return false;
}
parameters.money = field.money;
parameters.limit_day = field.limit_day;
}
postData.parameters = JSON.stringify(parameters);
if (debug) { console.log(field); console.log(postData); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistributionGrade/DoDistributionConditionEdit", postData, function (e) {
console.log(e)
if (e.code === 0) {
conditionTables.reload(); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistributionCondition-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
};
//升级条件删除
function doConditionDel(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。',
function (index) {
var id = obj.data.id;
coreHelper.Post("Api/CoreCmsDistributionGrade/DoDistributionConditionDelete", { id: id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
conditionTables.reload(); //重载表格
layer.msg(e.msg);
});
});
};
//佣金设置表格渲染
var resultTables = layui.table.render({
elem: '#result'
, size: 'sm'
, method: 'post'
, url: "Api/CoreCmsDistributionGrade/GetDistributionResultPageList"
, where: { gradeId: d.params.data.model.id }
, cols: [[ //标题栏
{ field: 'code', width: 140, title: '佣金代码' },
{
field: 'name', width: 140, title: '佣金名称', templet: function (d) {
if (d.code == 'COMMISSION_1') {
return '一级佣金';
} else if (d.code == 'COMMISSION_2') {
return '二级佣金';
} else if (d.code == 'COMMISSION_3') {
return '三级佣金';
}
}
}
, { field: 'parameters', title: '参数' }
, { width: 120, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-result-tableBox-bar' }
]]
, even: true
});
//监听工具条
table.on('tool(result)',
function (obj) {
if (obj.event === 'resultEdit') {
doResultEdit(obj);
} else if (obj.event === 'resultDel') {
doResultDel(obj)
}
});
//添加佣金设置
form.on('submit(resultAdd)', function (data) {
coreHelper.Post("Api/CoreCmsDistributionGrade/GetDistributionResultCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建佣金设置',
area: ['800px', '550px'],
id: 'LAY-popup-CoreCmsDistributionResult-create',
success: function (layero, index) {
view(this.id).render('distribution/grade/resultCreate', { data: e.data, gradeId: d.params.data.model.id }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistributionResult-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (!!!field.result_code) {
layer.msg("请先选择促销条件");
return false;
}
var postData = {};
var parameters = {};
postData.gradeId = field.gradeId;
postData.code = field.result_code;
if (!!!field.commissionType) {
layer.msg("请选择类型");
return false;
}
parameters.commissionType = field.commissionType;
if (!!!field.discount) {
layer.msg("请输入佣金值");
return false;
}
parameters.discount = field.discount;
var commissionTypeValue = Number(parameters.commissionType);
var discountValue = Number(parameters.discount);
if (commissionTypeValue == 1 && discountValue > 100) {
layer.msg("百分比数字不能大于100");
return false;
}
postData.parameters = JSON.stringify(parameters);
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistributionGrade/DoDistributionResultCreate", postData, function (e) {
console.log(e)
if (e.code === 0) {
resultTables.reload();
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistributionResult-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
});
//佣金设置编辑
function doResultEdit(obj) {
var id = obj.data.id;
coreHelper.Post("Api/CoreCmsDistributionGrade/GetDistributionResultEdit", { id: id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑佣金设置',
area: ['800px', '350px'],
id: 'LAY-popup-CoreCmsDistributionResult-edit',
success: function (layero, index) {
view(this.id).render('distribution/grade/resultEdit', { data: e.data, gradeId: d.params.data.model.id }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistributionResult-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (!!!field.result_code) {
layer.msg("请先选择促销条件");
return false;
}
var postData = {};
var parameters = {};
postData.id = field.id;
postData.gradeId = field.gradeId;
postData.code = field.result_code;
if (!!!field.commissionType) {
layer.msg("请选择类型");
return false;
}
parameters.commissionType = field.commissionType;
if (!!!field.discount) {
layer.msg("请输入佣金值");
return false;
}
parameters.discount = field.discount;
var commissionTypeValue = Number(parameters.commissionType);
var discountValue = Number(parameters.discount);
if (commissionTypeValue == 1 && discountValue > 100) {
layer.msg("百分比数字不能大于100");
return false;
}
postData.parameters = JSON.stringify(parameters);
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistributionGrade/DoDistributionResultEdit", postData, function (e) {
console.log(e)
if (e.code === 0) {
resultTables.reload(); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistributionResult-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
};
//佣金设置删除
function doResultDel(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。',
function (index) {
var id = obj.data.id;
coreHelper.Post("Api/CoreCmsDistributionGrade/DoDistributionResultDelete", { id: id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
resultTables.reload();
layer.msg(e.msg);
});
});
};
//重载form
form.render(null, 'LAY-app-CoreCmsDistributionGrade-editForm');
})
};
</script>

View File

@@ -0,0 +1,239 @@
<title>分销商等级设置表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
@media screen and (max-width: 500px) {
.layui-layer.layui-layer-page { width: 100% !important; overflow: hidden !important; left: 0 !important; }
.layui-layer-title { width: 100% !important; box-sizing: border-box; }
.layui-layer-content { width: 100% !important; }
}
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsDistributionGrade/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsDistributionGrade-tableBox" lay-filter="LAY-app-CoreCmsDistributionGrade-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsDistributionGrade-toolbar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsDistributionGrade-tableBox-bar">
<!--<a class="layui-btn layui-btn-xs" lay-event="edit">升级及佣金设置</a>-->
<!--<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>-->
<a class="layui-btn layui-btn-xs" lay-event="edit">佣金设置</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delParent">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'dropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsDistributionGrade-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsDistributionGrade-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsDistributionGrade-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsDistributionGrade/GetPageList',
toolbar: '#LAY-app-CoreCmsDistributionGrade-toolbar',
method: 'POST',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '等级序列', width: 80, sort: false },
{ field: 'name', title: '等级名称', sort: false, width: 205 },
{ field: 'isDefault', title: '是否默认等级', width: 95, templet: '#switch_isDefault', sort: false, unresize: true },
{ field: 'isAutoUpGrade', title: '是否自动升级', width: 95, templet: '#switch_isAutoUpGrade', sort: false, unresize: true },
{ field: 'sortId', title: '等级排序(分销等级排序越大,等级越高)', sort: false, width: 250 },
{ field: 'description', title: '等级说明', sort: false },
{ width: 162, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsDistributionGrade-tableBox-bar' }
]
]
});
//监听工具条
table.on('tool(LAY-app-CoreCmsDistributionGrade-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'delParent') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//头工具栏事件
table.on('toolbar(LAY-app-CoreCmsDistributionGrade-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsDistributionGrade/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['1000px', '500px'],
id: 'LAY-popup-CoreCmsDistributionGrade-create',
success: function (layero, index) {
view(this.id).render('distribution/grade/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistributionGrade-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDefault = field.isDefault == 'on';
field.isAutoUpGrade = field.isAutoUpGrade == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistributionGrade/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsDistributionGrade-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistributionGrade-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsDistributionGrade/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑升级及佣金设置',
area: ['1000px', '98%'],
id: 'LAY-popup-CoreCmsDistributionGrade-edit',
success: function (layero, index) {
view(this.id).render('distribution/grade/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsDistributionGrade-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isDefault = field.isDefault == 'on';
field.isAutoUpGrade = field.isAutoUpGrade == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsDistributionGrade/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsDistributionGrade-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsDistributionGrade-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isDefault)', function (obj) {
coreHelper.Post("Api/CoreCmsDistributionGrade/DoSetisDefault", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsDistributionGrade-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isAutoUpGrade)', function (obj) {
coreHelper.Post("Api/CoreCmsDistributionGrade/DoSetisAutoUpGrade", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsDistributionGrade-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否默认等级-->
<script type="text/html" id="switch_isDefault">
<input type="checkbox" name="switch_isDefault" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDefault" {{ d.isDefault ? 'checked' : '' }}>
</script>
<!--设置是否自动升级-->
<script type="text/html" id="switch_isAutoUpGrade">
<input type="checkbox" name="switch_isAutoUpGrade" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isAutoUpGrade" {{ d.isAutoUpGrade ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,119 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsDistributionResult-createForm" id="LAY-app-CoreCmsDistributionResult-createForm">
<input type="hidden" name="gradeId" value="{{d.params.gradeId || '' }}" />
<div class="layui-form-item">
<label class="layui-form-label">佣金设置</label>
<div class="layui-input-block">
<select name="result_code" id="result_code" lay-filter="result_code">
<option value="">请选择佣金设置</option>
<option value="COMMISSION_1">一级佣金</option>
<option value="COMMISSION_2">二级佣金</option>
<option value="COMMISSION_3">三级佣金</option>
</select>
</div>
</div>
<div id="resultBox"></div>
<div class="layui-form-item text-center core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistributionResult-createForm-submit" id="LAY-app-CoreCmsDistributionResult-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script id="first_class_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">结果名称</label>
<div class="layui-form-mid">一级佣金</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<input type="radio" name="commissionType" value="1" title="百分比" checked="checked">
<input type="radio" name="commissionType" value="2" title="固定金额">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金值</label>
<div class="layui-input-inline seller-inline-2">
<input name="discount" lay-verify="title" autocomplete="off" value="1" placeholder="" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">百分比时请设置1-100的数字</div>
</div>
</script>
<script id="second_class_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">结果名称</label>
<div class="layui-form-mid">二级佣金</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<input type="radio" name="commissionType" value="1" title="百分比" checked="checked">
<input type="radio" name="commissionType" value="2" title="固定金额">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金值</label>
<div class="layui-input-inline seller-inline-2">
<input name="discount" lay-verify="title" autocomplete="off" value="1" placeholder="" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">百分比时请设置1-100的数字</div>
</div>
</script>
<script id="three_class_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">结果名称</label>
<div class="layui-form-mid">三级佣金</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<input type="radio" name="commissionType" value="1" title="百分比" checked="checked">
<input type="radio" name="commissionType" value="2" title="固定金额">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金值</label>
<div class="layui-input-inline seller-inline-2">
<input name="discount" lay-verify="title" autocomplete="off" value="1" placeholder="" class="layui-input" type="text">
</div>
<div class="layui-form-mid layui-word-aux">百分比时请设置1-100的数字</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'laytpl', 'util', 'view', 'table'],
function () {
var $ = layui.$, form = layui.form, admin = layui.admin, util = layui.util, upload = layui.upload, coreHelper = layui.coreHelper, laytpl = layui.laytpl, view = layui.view, table = layui.table;
form.on('select(result_code)', function (data) {
$('#result_code').val(data.value);
var view = document.getElementById('resultBox');
$("#resultBox").empty();
if (data.value === 'COMMISSION_1') {
var getTpl = first_class_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'COMMISSION_2') {
var getTpl = second_class_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
} else if (data.value === 'COMMISSION_3') {
var getTpl = three_class_tpl.innerHTML;
laytpl(getTpl).render(d.params, function (html) { view.innerHTML = html; });
}
form.render();
});
form.verify({
verifycode: [/^[\S]{0,50}$/, '佣金编码最大只允许输入50位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsDistributionResult-createForm');
})
};
</script>

View File

@@ -0,0 +1,137 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsDistributionResult-editForm" id="LAY-app-CoreCmsDistributionResult-editForm">
<input type="hidden" name="id" value="{{d.params.data.id }}" />
<input type="hidden" name="gradeId" value="{{d.params.data.gradeId }}" />
<div class="layui-form-item">
<label class="layui-form-label">佣金设置</label>
<div class="layui-input-block">
<select name="result_code" id="result_code" lay-filter="result_code">
<option value="">请选择佣金设置</option>
<option value="COMMISSION_1" {{d.params.data.code=='COMMISSION_1' ?'selected="selected"':'' }}>一级佣金</option>
<option value="COMMISSION_2" {{d.params.data.code=='COMMISSION_2' ?'selected="selected"':'' }}>二级佣金</option>
<option value="COMMISSION_3" {{d.params.data.code=='COMMISSION_3' ?'selected="selected"':'' }}>三级佣金</option>
</select>
</div>
</div>
<div id="resultBox"></div>
<div class="layui-form-item text-center core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsDistributionResult-editForm-submit" id="LAY-app-CoreCmsDistributionResult-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script id="first_class_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">结果名称</label>
<div class="layui-form-mid">一级佣金</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<input type="radio" name="commissionType" value="1" title="百分比" {{d.commissionType=='1' ?'checked="checked"':'' }}>
<input type="radio" name="commissionType" value="2" title="固定金额" {{d.commissionType=='2' ?'checked="checked"':'' }}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金值</label>
<div class="layui-input-inline seller-inline-2">
<input type="number" min="0" max="999999" name="discount" lay-verify="required|number" class="layui-input" value="{{d.discount || '0'}}" placeholder="请输入佣金值" lay-reqText="请输入佣金值" />
</div>
<div class="layui-form-mid layui-word-aux">百分比时请设置1-100的数字</div>
</div>
</script>
<script id="second_class_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">结果名称</label>
<div class="layui-form-mid">二级佣金</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<input type="radio" name="commissionType" value="1" title="百分比" {{d.commissionType=='1' ?'checked="checked"':'' }}>
<input type="radio" name="commissionType" value="2" title="固定金额" {{d.commissionType=='2' ?'checked="checked"':'' }}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金值</label>
<div class="layui-input-inline seller-inline-2">
<input type="number" min="0" max="999999" name="discount" lay-verify="required|number" class="layui-input" value="{{d.discount || '0'}}" placeholder="请输入佣金值" lay-reqText="请输入佣金值" />
</div>
<div class="layui-form-mid layui-word-aux">百分比时请设置1-100的数字</div>
</div>
</script>
<script id="three_class_tpl" type="text/html">
<div class="layui-form-item">
<label class="layui-form-label">结果名称</label>
<div class="layui-form-mid">三级佣金</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-block">
<input type="radio" name="commissionType" value="1" title="百分比" {{d.commissionType=='1' ?'checked="checked"':'' }}>
<input type="radio" name="commissionType" value="2" title="固定金额" {{d.commissionType=='2' ?'checked="checked"':'' }}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金值</label>
<div class="layui-input-inline seller-inline-2">
<input type="number" min="0" max="999999" name="discount" lay-verify="required|number" class="layui-input" value="{{d.discount || '0'}}" placeholder="请输入佣金值" lay-reqText="请输入佣金值" />
</div>
<div class="layui-form-mid layui-word-aux">百分比时请设置1-100的数字</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'laytpl', 'util', 'view', 'table'],
function () {
var $ = layui.$, form = layui.form, admin = layui.admin, util = layui.util, upload = layui.upload, coreHelper = layui.coreHelper, laytpl = layui.laytpl, view = layui.view, table = layui.table;
var code = d.params.data.code;
var obj = JSON.parse(d.params.data.parameters);
var view = document.getElementById('resultBox');
$("#resultBox").empty();
if (code === 'COMMISSION_1') {
var getTpl = first_class_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
} else if (code === 'COMMISSION_2') {
var getTpl = second_class_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
} else if (code === 'COMMISSION_3') {
var getTpl = three_class_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
}
form.on('select(result_code)', function (data) {
$('#result_code').val(data.value);
var view = document.getElementById('resultBox');
$("#resultBox").empty();
if (data.value === 'COMMISSION_1') {
var getTpl = first_class_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
} else if (data.value === 'COMMISSION_2') {
var getTpl = second_class_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
} else if (data.value === 'COMMISSION_3') {
var getTpl = three_class_tpl.innerHTML;
laytpl(getTpl).render(obj, function (html) { view.innerHTML = html; });
}
form.render();
});
form.verify({
verifycode: [/^[\S]{0,50}$/, '佣金编码最大只允许输入50位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsDistributionResult-editForm');
})
};
</script>

View File

@@ -0,0 +1,117 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsDistributionOrder-detailsForm" id="LAY-app-CoreCmsDistributionOrder-detailsForm">
<colgroup>
<col width="100">
<col>
</colgroup>
<tbody>
<tr>
<td>
<label for="id">序列</label>
</td>
<td>
{{ d.params.data.id || '' }}
</td>
</tr>
<tr>
<td>
<label for="userId">用户分销商id</label>
</td>
<td>
{{ d.params.data.userId || '' }}
</td>
</tr>
<tr>
<td>
<label for="buyUserId">下单用户id</label>
</td>
<td>
{{ d.params.data.buyUserId || '' }}
</td>
</tr>
<tr>
<td>
<label for="orderId">订单编号</label>
</td>
<td>
{{ d.params.data.orderId || '' }}
</td>
</tr>
<tr>
<td>
<label for="amount">结算金额</label>
</td>
<td>
{{ d.params.data.amount || '' }}
</td>
</tr>
<tr>
<td>
<label for="isSettlement">是否结算</label>
</td>
<td>
{{ d.params.data.isSettlement || '' }}
</td>
</tr>
<tr>
<td>
<label for="level">层级</label>
</td>
<td>
{{ d.params.data.level || '' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.createTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.updateTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="isDelete">是否删除</label>
</td>
<td>
<input type="checkbox" disabled name="isDelete" value="{{d.params.data.isDelete}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isDelete" {{ d.params.data.isDelete ? 'checked' : '' }}>
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsDistributionOrder-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,275 @@
<title>分销商订单记录表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsDistributionOrder/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsDistributionOrder-tableBox" lay-filter="LAY-app-CoreCmsDistributionOrder-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsDistributionOrder-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="distributorName" placeholder="请输入用户分销商" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="buyUserNickName" placeholder="请输入下单用户" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="orderId" placeholder="请输入订单编号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isSettlement">
<option value="">请选择是否结算</option>
{{# layui.each(indexData.distributionOrderSettlementStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isDelete">
<option value="">请选择分销用户层级</option>
<option value="1">一级用户</option>
<option value="2">二级用户</option>
<option value="3">三级用户</option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsDistributionOrder-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsDistributionOrder-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsDistributionOrder-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsDistributionOrder-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'dropdown', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsDistributionOrder-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsDistributionOrder-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsDistributionOrder-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsDistributionOrder/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsDistributionOrder-toolbar',
pagebar: '#LAY-app-CoreCmsDistributionOrder-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//面包屑142px,搜索框4行172,3行137,2行102,1行67
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'userId', title: '用户分销商', sort: false, templet: function (data) { return data.distributorName + "" + data.userId + "" } },
{ field: 'buyUserId', title: '下单用户', sort: false, templet: function (data) { return data.buyUserNickName + "" + data.buyUserId + "" } },
{ field: 'orderId', title: '订单编号', sort: false },
{ field: 'amount', title: '结算金额', sort: false, width: 105, templet: function (data) { return '¥' + data.amount } },
{
field: 'isSettlement', title: '是否结算', sort: false, width: 80, templet: function (data) {
for (var i = 0; i < d.data.distributionOrderSettlementStatus.length; i++) {
if (d.data.distributionOrderSettlementStatus[i].value == data.isSettlement) {
return d.data.distributionOrderSettlementStatus[i].description;
}
}
}
},
{ field: 'level', title: '分销用户层级', sort: false, width: 105 },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
//{ field: 'isDelete', title: '是否删除', width: 95, templet: '#switch_isDelete', sort: false, unresize: true },
{ width: 60, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsDistributionOrder-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsDistributionOrder-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsDistributionOrder-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsDistributionOrder-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsDistributionOrder-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'selectExportExcel':
doSelectExportExcel(checkStatus);
break;
case 'queryExportExcel':
doQueryExportexcel();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsDistributionOrder-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsDistributionOrder/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['1000px', '500px'],
id: 'LAY-popup-CoreCmsDistributionOrder-details',
success: function (layero, index) {
view(this.id).render('distribution/order/details', { data: e.data }).done(function () {
form.render();
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsDistributionOrder/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsDistributionOrder-tableBox');
layer.msg(e.msg);
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsDistributionOrder/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsDistributionOrder/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
laydate.render({
elem: '#searchTime-CoreCmsDistributionOrder-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsDistributionOrder-updateTime',
type: 'datetime',
range: '到',
});
});
};
</script>

View File

@@ -0,0 +1,439 @@
<title>标题</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
.layui-form-item label { width: 140px; }
.classifyimg { margin-bottom: 20px; width: 672px !important; }
.classifyimg-item { display: inline-block; width: 140px; }
.classifyimg img { width: 100px; display: block; }
.classifyimg .layui-form-radio { vertical-align: top; display: block; margin-bottom: 10px; }
.image_storage_type .item { display: none; }
.layui-elem-quote { margin: 10px; }
.layui-tab-content { padding: 15px 0; }
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsDistributionSetting/GetIndex" lay-done="layui.data.done(d);">
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<!--<div class="layui-card-header">
分销设置
</div>-->
<div class="layui-card-body">
<div class="layui-tab layui-tab-card" lay-filter="setting">
<ul class="layui-tab-title">
<li lay-id="distributionSet" class="layui-this">分销设置</li>
<li lay-id="userAgreement ">用户须知</li>
<li lay-id="distributionAgreement">分销协议</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div class="layui-form coreshop-form">
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['showInviterInfo']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="showInviterInfo" name="showInviterInfo" value="1" title="开启" {{d.data.configs['showInviterInfo']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="showInviterInfo" name="showInviterInfo" value="2" title="不开启" {{d.data.configs['showInviterInfo']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['openDistribution']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="openDistribution" name="openDistribution" value="1" title="开启" {{d.data.configs['openDistribution']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="openDistribution" name="openDistribution" value="2" title="不开启" {{d.data.configs['openDistribution']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['distributionLevel']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="distributionLevel" name="distributionLevel" value="1" title="一层" {{d.data.configs['distributionLevel']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="distributionLevel" name="distributionLevel" value="2" title="二层" {{d.data.configs['distributionLevel']['sValue']==="2" ? 'checked':''}}>
<input type="radio" lay-filter="distributionLevel" name="distributionLevel" value="3" title="三层" {{d.data.configs['distributionLevel']['sValue']==="3" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['distributionStore']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="distributionStore" name="distributionStore" value="1" title="开启" {{d.data.configs['distributionStore']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="distributionStore" name="distributionStore" value="2" title="不开启" {{d.data.configs['distributionStore']['sValue']==="2" ? 'checked':''}}>
</div>
</div>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>成为分销商</legend>
</fieldset>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['distributionType']['sKey']}}</label>
<div class="layui-input-block">
<input type="radio" lay-filter="distributionType" name="distributionType" value="1" title="无条件(需要审核)" {{d.data.configs['distributionType']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="distributionType" name="distributionType" value="2" title="申请(需要审核)" {{d.data.configs['distributionType']['sValue']==="2" ? 'checked':''}}>
<input type="radio" lay-filter="distributionType" name="distributionType" value="3" title="无需审核" {{d.data.configs['distributionType']['sValue']==="3" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['distributionMoney']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="distributionMoney" value="{{d.data.configs['distributionMoney']['sValue']}}" lay-verify="title|number" autocomplete="off" placeholder="" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['distributionGoods']['sKey']}}</label>
<div class="layui-input-inline layui-inline-7">
<input type="radio" lay-filter="distributionGoods" name="distributionGoods" lay-filter="distributionGoods" value="1" title="关闭" {{d.data.configs['distributionGoods']['sValue']==="1" ? 'checked':''}}>
<input type="radio" lay-filter="distributionGoods" name="distributionGoods" lay-filter="distributionGoods" value="2" title="任意商品" {{d.data.configs['distributionGoods']['sValue']==="2" ? 'checked':''}}>
<input type="radio" lay-filter="distributionGoods" name="distributionGoods" lay-filter="distributionGoods" value="3" title="指定商品" {{d.data.configs['distributionGoods']['sValue']==="3" ? 'checked':''}}>
</div>
</div>
<div class="layui-form-item select-goods" id="distributionGoods" {{# if(d.data.configs['distributionGoodsId']['sValue'] === '0'){ }} style="display: none;" {{# } }}>
<label class="layui-form-label">选择商品</label>
<div class="layui-input-block">
<div id="goods_box" class="select_seller_goods_box">
<div>
<button class="layui-btn layui-btn-xs" lay-active="goods_show">选择商品</button>
</div>
<input type="hidden" name="distributionGoodsId" id="distributionGoodsId" value="{{d.data.configs['distributionGoodsId']['sValue'] ? d.data.configs['distributionGoodsId']['sValue']:'0'}}">
<ul id="goods_list" class="sellect_seller_goods_list">
</ul>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="save">保存更改</button>
</div>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-fluid">
<div class="layui-row layui-col-space10">
<div class="layui-col-md12">
<div class="document-editor">
<div class="toolbar-container" id="distributionNotes-toolbar-container"></div>
<div class="content-container">
<div id="distributionNotes" class="core-editor"></div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="saveEditor">保存更改</button>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-fluid">
<div class="layui-row">
<div class="layui-col-md12">
<div class="document-editor">
<div class="toolbar-container" id="distributionAgreement-toolbar-container"></div>
<div class="content-container">
<div id="distributionAgreement" class="core-editor"></div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">
<button class="layui-btn" lay-submit="" lay-filter="saveEditor">保存更改</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['admin', 'form', 'coreHelper', 'element', 'table', 'util', 'view', 'table', 'cropperImg'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form
, element = layui.element
, table = layui.table
, util = layui.util
, view = layui.view
, cropperImg = layui.cropperImg
, router = layui.router()
, search = router.search;
form.render();
//加载编辑器
//加载编辑器
var Authorization = layui.data(layui.setter.tableName)[layui.setter.request.tokenName];
//重点代码 适配器
class UploadAdapter {
constructor(loader) {
this.loader = loader;
}
upload() {
return new Promise((resolve, reject) => {
const data = new FormData();
let file = [];
this.loader.file.then(res => {
file = res; //文件流
data.append('upload', file);
$.ajax({
url: "/Api/Tools/CkEditorUploadFiles",
type: 'POST',
data: data,
dataType: 'json',
headers: {
'Authorization': Authorization
},
processData: false,
contentType: false,
success: function (data) {
if (data) {
console.log(data)
resolve({
default: data.url //后端返回的参数 【注】返回参数格式是{uploaded:1,default:'http://xxx.com'}
});
} else {
reject(data.msg);
}
}
});
})
});
}
abort() {
}
}
DecoupledEditor
.create(document.querySelector('#distributionNotes'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#distributionNotes-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['distributionNotes']['sValue']);
window.editor = editor;
})
.catch(error => {
console.error(error);
});
DecoupledEditor
.create(document.querySelector('#distributionAgreement'),
{
language: 'zh-cn',
})
.then(editor => {
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
return new UploadAdapter(loader);
};
const toolbarContainer = document.querySelector('#distributionAgreement-toolbar-container');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
editor.setData(d.data.configs['distributionAgreement']['sValue']);
window.editor2 = editor;
})
.catch(error => {
console.error(error);
});
//监听购买商品成为分销商按钮
form.on('radio(distributionGoods)', function (data) {
if (data.value === "3") {
$('#distributionGoods').show();
} else {
$('#distributionGoods').hide();
}
});
//初始化分销设置是否选中商品
if (d.data.configs.distributionGoodsId) {
var obj = d.data.configs.distributionGoodsId;
if (obj.sValue) {
var goodsIds = obj.sValue.split(',');
coreHelper.Post("Api/Tools/GetGoodsByIds", { id: goodsIds }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
$("#goods_list").empty();
var the_val = "";
for (var i = 0; i < e.data.length; i++) {
$("#goods_list").append('<li><span id="' + e.data[i].id + '" lay-active="goodsDelete">×</span>' + e.data[i].name + '</li>');
the_val += "," + e.data[i].id;
}
//$("#goods").val(the_val.slice(1));
});
}
}
//处理属性 为 lay-active 的所有元素事件
util.event('lay-active', {
goods_show: function () {
admin.popup({
shadeClose: false,
title: '选择商品',
area: ['750px', '600px'],
id: 'LAY-app-CoreCmsPinTuanRule-createForm-GetGoodsList',
success: function (layero, index) {
view(this.id).render('common/getGoodIds', null).done(function () {
form.render();
//监听商品列表页工具条
var obj_goodsIds = {};
form.on('submit(LAY-app-CoreCmsGoods-getData)',
function (data) {
if (Object.getOwnPropertyNames(ids).length === 0) {
layer.msg("请先选择商品");
return;
}
//判断个数是否满足
if (Object.getOwnPropertyNames(ids).length > 1) {
layer.msg("最多只能选择" + 1 + "个");
return false;
}
$("#goods_list").empty();
var the_val = "";
for (var key in ids) {
$("#goods_list").append('<li><span id="' + key + '" lay-active="goodsDelete">×</span>' + ids[key].name + '</li>');
the_val += "," + key;
}
$("#distributionGoodsId").val(the_val.slice(1));
layer.close(index);
});
});
}
});
},
goodsDelete: function () {
var ids_array = $("#distributionGoodsId").val().split(",");
for (var i = 0; i < ids_array.length; i++) {
if (ids_array[i] == $(this).attr("id")) {
ids_array.splice(i, 1);
}
}
$("#distributionGoodsId").val(ids_array.join(","));
if (ids_array.length <= 0) {
$("#distributionGoodsId").val(0);
}
$(this).parent().remove();
},
});
form.verify({
money: [/((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, '请输入合法整数或小数'],
});
//保存数据
form.on('submit(save)', function (data) {
formData = data.field;
if (!formData) {
layer.msg('请先完善数据', {
time: 1300
});
return false;
}
var field = data.field;
var keys = Object.keys(field);
var postData = [];
for (var i = 0; i < keys.length; i++) {
var keyName = Object.keys(field)[i];
var entity = {};
entity.sKey = keyName;
entity.sValue = field[keyName];
postData.push(entity);
}
console.log(postData);
coreHelper.Post("Api/CoreCmsDistributionSetting/DoSave", { entity: postData }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
layer.msg(e.msg);
});
});
//保存编辑器数据
form.on('submit(saveEditor)', function (data) {
formData = data.field;
var field = data.field;
var keys = Object.keys(field);
var postData = [];
var distributionNotes = window.editor.getData();
if (!!!distributionNotes) {
layer.msg(d.data.configs['distributionNotes']['sKey'] + '不能为空', { icon: 5 });
return false;
} else {
var entity = {};
entity.sKey = 'distributionNotes';
entity.sValue = distributionNotes;
postData.push(entity);
}
var distributionAgreement = window.editor2.getData();
if (!!!distributionAgreement) {
layer.msg(d.data.configs['distributionAgreement']['sKey'] + '不能为空', { icon: 5 });
return false;
} else {
var entity = {};
entity.sKey = 'distributionAgreement';
entity.sValue = distributionAgreement;
postData.push(entity);
}
console.log(postData);
coreHelper.Post("Api/CoreCmsAgentSetting/DoSave", { entity: postData }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
layer.msg(e.msg);
});
});
});
}
</script>

View File

@@ -0,0 +1,133 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsBillPayments-detailsForm" id="LAY-app-CoreCmsBillPayments-detailsForm">
<colgroup>
<col width="180">
<col>
</colgroup>
<tbody>
<tr>
<td>
<label for="paymentId">支付单号</label>
</td>
<td>
{{ d.params.data.model.paymentId || '' }}
</td>
</tr>
<tr>
<td>
<label for="money">支付金额</label>
</td>
<td>
{{ d.params.data.model.money || '' }}
</td>
</tr>
<tr>
<td>
<label for="userId">用户ID</label>
</td>
<td>
{{ d.params.data.model.userId || '' }}
</td>
</tr>
<tr>
<td>
<label for="type">资源类型</label>
</td>
<td>
{{ d.params.data.paymentsResourceTypes || '' }}
</td>
</tr>
<tr>
<td>
<label for="type">资源编号</label>
</td>
<td>
{{ d.params.data.model.sourceId || '' }}
</td>
</tr>
<tr>
<td>
<label for="status">支付状态</label>
</td>
<td>
{{ d.params.data.paymentsStatus || '' }}
</td>
</tr>
<tr>
<td>
<label for="paymentCode">支付类型</label>
</td>
<td>
{{ d.params.data.paymentCode || '' }}
</td>
</tr>
<tr>
<td>
<label for="ip">支付单生成IP</label>
</td>
<td>
{{ d.params.data.model.ip || '' }}
</td>
</tr>
<tr>
<td>
<label for="payedMsg">支付回调后的状态描述</label>
</td>
<td>
{{ d.params.data.model.payedMsg || '' }}
</td>
</tr>
<tr>
<td>
<label for="tradeNo">第三方平台交易流水号</label>
</td>
<td>
{{ d.params.data.model.tradeNo || '' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.model.createTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.model.updateTime || '' }}
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsBillPayments-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,266 @@
<title>支付单表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsBillPayments/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsBillPayments-tableBox" lay-filter="LAY-app-CoreCmsBillPayments-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsBillPayments-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="paymentId" id="paymentId" placeholder="请输入支付单号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type" id="type" lay-filter="conditionCode">
<option value="">请选择单据类型</option>
{{# layui.each(indexData.paymentsResourceTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="status" id="status" lay-filter="conditionCode">
<option value="">请选择支付状态</option>
{{# layui.each(indexData.paymentsStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="tradeNo" id="tradeNo" placeholder="请输入第三方平台交易流水号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsBillPayments-createTime" placeholder="请输入起止时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsBillPayments-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsBillPayments-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsBillPayments-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsBillPayments-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsBillPayments-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsBillPayments-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsBillPayments/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsBillPayments-toolbar',
pagebar: '#LAY-app-CoreCmsBillPayments-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'paymentId', title: '支付单号', sort: true, width: 155 },
{ field: 'money', title: '支付金额', sort: false, width: 105, templet: function (data) { return '¥' + data.money } },
{
field: 'userNickName', title: '用户', sort: false, width: 105, templet: function (d) {
return d.userNickName + '' + d.userId + '';
}
}, {
field: 'type', title: '单据类型', sort: false, width: 105,
templet: function (data) {
for (var i = 0; i < d.data.paymentsResourceTypes.length; i++) {
if (data.type == d.data.paymentsResourceTypes[i].value) {
return d.data.paymentsResourceTypes[i].description;
}
}
return "";
}
},
{
field: 'status', title: '支付状态', sort: false, width: 125,
templet: function (data) {
for (var i = 0; i < d.data.paymentsStatus.length; i++) {
if (data.status == d.data.paymentsStatus[i].value) {
return d.data.paymentsStatus[i].description;
}
}
return "";
}
},
{
field: 'paymentCode', title: '支付状态', sort: false, width: 105,
templet: function (data) {
for (var i = 0; i < d.data.paymentCode.length; i++) {
if (data.paymentCode == d.data.paymentCode[i].title) {
return d.data.paymentCode[i].description;
}
}
return "";
}
},
{ field: 'tradeNo', title: '第三方平台交易流水号', sort: false },
{ field: 'payedMsg', title: '支付备注', sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ width: 82, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsBillPayments-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsBillPayments-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsBillPayments-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsBillPayments-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'selectExportExcel':
doSelectExportExcel(checkStatus);
break;
case 'queryExportExcel':
doQueryExportexcel();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsBillPayments-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
}
});
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsBillPayments/GetDetails", { id: obj.data.paymentId }, function (e) {
if (e.code === 0) {
admin.popup({ shadeClose: false,
title: '查看详情',
area: ['600px', '550px'],
id: 'LAY-popup-CoreCmsBillPayments-details',
success: function (layero, index) {
view(this.id).render('financial/billpayments/details', { data: e.data }).done(function () {
form.render();
});
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsBillPayments/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsBillPayments/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
laydate.render({
elem: '#searchTime-CoreCmsBillPayments-createTime',
type: 'datetime',
range: '到',
});
});
};
</script>

View File

@@ -0,0 +1,93 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsBillRefund-editForm" id="LAY-app-CoreCmsBillRefund-editForm">
<input type="hidden" name="refundId" value="{{d.params.data.model.refundId || '' }}" />
<div class="layui-form-item">
<label for="refundId" class="layui-form-label ">退款单ID</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.model.refundId }}
</div>
<label for="aftersalesId" class="layui-form-label ">售后单id</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.model.aftersalesId }}
</div>
</div>
<div class="layui-form-item">
<label for="userId" class="layui-form-label ">用户</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.userInfo.nickName }}{{d.params.data.model.userId }}
</div>
<label for="money" class="layui-form-label ">状态</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.refundStatus}}
</div>
</div>
<div class="layui-form-item">
<label for="type" class="layui-form-label ">单据类型</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.paymentsResourceTypes }}
</div>
<label for="sourceId" class="layui-form-label ">单据id</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.model.sourceId }}
</div>
</div>
<div class="layui-form-item">
<label for="money" class="layui-form-label ">退款金额</label>
<div class="layui-form-mid layui-word-aux layui-inline-3">
{{d.params.data.model.money }}
</div>
<label for="paymentCode" class="layui-form-label ">退款方式</label>
<div class="layui-input-inline layui-inline-3">
<select name="paymentCode" id="paymentCode" lay-search lay-verType="tips" lay-verify="required|verifylogiCode">
<option value="">请选择</option>
{{# layui.each(d.params.data.paymentCode, function(index, item){ }}
<option value="{{item.title}}" {{item.title===d.params.data.model.paymentCode?'selected="selected"':''}}>{{item.description}}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="status" class="layui-form-label ">审核结果</label>
<div class="layui-input-block">
<input name="status" value="2" title="通过" checked="" type="radio">
<input name="status" value="4" title="拒绝" type="radio">
</div>
</div>
<div class="layui-form-item text-right">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsBillRefund-editForm-submit" id="LAY-app-CoreCmsBillRefund-editForm-submit" value="确认审核">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
form.verify({
verifyrefundId: [/^[\S]{0,20}$/, '退款单ID最大只允许输入20位字符且不能出现空格'],
verifyaftersalesId: [/^[\S]{0,20}$/, '售后单id最大只允许输入20位字符且不能出现空格'],
verifysourceId: [/^[\S]{0,20}$/, '资源id根据type不同而关联不同的表最大只允许输入20位字符且不能出现空格'],
verifypaymentCode: [/^[\S]{0,50}$/, '退款支付类型编码 默认原路返回 关联支付单表支付编码最大只允许输入50位字符且不能出现空格'],
verifytradeNo: [/^[\S]{0,50}$/, '第三方平台交易流水号最大只允许输入50位字符且不能出现空格'],
verifymemo: [/^[\S]{0,100}$/, '退款失败原因最大只允许输入100位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsBillRefund-editForm');
})
};
</script>

View File

@@ -0,0 +1,138 @@
<style>
.layui-table td, .layui-table th { position: relative; padding: 9px 15px; min-height: 20px; line-height: 20px; font-size: 12px; word-wrap: break-word; word-break: break-all; }
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsBillRefund-detailsForm" id="LAY-app-CoreCmsBillRefund-detailsForm">
<colgroup>
<col width="150">
<col>
</colgroup>
<tbody>
<tr>
<td style="width: 150px">
退款单ID
</td>
<td>
{{ d.params.data.model.refundId || '' }}
</td>
</tr>
<tr>
<td>
<label for="aftersalesId">售后单id</label>
</td>
<td>
{{ d.params.data.model.aftersalesId || '' }}
</td>
</tr>
<tr>
<td>
<label for="money">退款金额</label>
</td>
<td>
{{ d.params.data.model.money || '' }}
</td>
</tr>
<tr>
<td>
<label for="userId">用户id</label>
</td>
<td>
{{ d.params.data.model.userId || '' }}
</td>
</tr>
<tr>
<td>
<label for="type">资源类型</label>
</td>
<td>
{{ d.params.data.model.type ===1 ?'订单':'充值' }}
</td>
</tr>
<tr>
<td>
<label for="sourceId">资源id</label>
</td>
<td>
{{ d.params.data.model.sourceId || '' }}
</td>
</tr>
<tr>
<td>
<label for="paymentCode">退款支付类型</label>
</td>
<td>
{{ d.params.data.paymentCode || '' }}
</td>
</tr>
<tr>
<td>
<label for="tradeNo">第三方平台流水号</label>
</td>
<td>
{{ d.params.data.model.tradeNo || '' }}
</td>
</tr>
<tr>
<td>
<label for="status">状态</label>
</td>
<td>
{{ d.params.data.refundStatus || '' }}
</td>
</tr>
<tr>
<td>
<label for="memo">退款失败原因</label>
</td>
<td>
{{ d.params.data.model.memo || '无' }}
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.model.createTime || '' }}
</td>
</tr>
<tr>
<td>
<label for="updateTime">更新时间</label>
</td>
<td>
{{ d.params.data.model.updateTime || '' }}
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsBillRefund-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,349 @@
<title>退款单表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsBillRefund/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsBillRefund-tableBox" lay-filter="LAY-app-CoreCmsBillRefund-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsBillRefund-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="refundId" id="refundId" placeholder="请输入退款单号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="aftersalesId" id="aftersalesId" placeholder="请输入售后单号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="userNickName" id="userNickName" placeholder="请输入用户昵称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type" id="type" lay-filter="conditionCode">
<option value="">请选择单据类型</option>
{{# layui.each(indexData.paymentsResourceTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="status" id="status" lay-filter="conditionCode">
<option value="">请选择状态</option>
{{# layui.each(indexData.refundStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="paymentCode" id="paymentCode" lay-filter="conditionCode">
<option value="">请选择退款方式</option>
{{# layui.each(indexData.paymentCode, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsBillRefund-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsBillRefund-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsBillRefund-tableBox-bar">
{{# if(d.status === 1){ }}
<a class="layui-btn layui-btn-xs" lay-event="audit">退款</a>
{{# } }}
{{# if(d.status === 3){ }}
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="reaudit">再次退款</a>
{{# } }}
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">明细</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsBillRefund-createTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsBillRefund-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsBillRefund-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsBillRefund-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsBillRefund/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsBillRefund-toolbar',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'refundId', title: '退款单', sort: false, width: 125 },
{ field: 'aftersalesId', title: '售后单', sort: false, width: 125 },
{ field: 'money', title: '退款金额', sort: false, width: 65, templet: function (data) { return '¥' + data.money } },
{
field: 'userNickName', title: '用户', sort: false, width: 155, templet: function (d) {
return d.userNickName + '' + d.userId + '';
}
},
{ field: 'sourceId', title: '单号', sort: false, width: 125 },
{
field: 'type', title: '类型', sort: false, width: 105,
templet: function (data) {
for (var i = 0; i < d.data.paymentsResourceTypes.length; i++) {
if (data.type == d.data.paymentsResourceTypes[i].value) {
return d.data.paymentsResourceTypes[i].description;
}
}
return "";
}
},
{
field: 'status', title: '状态', sort: false, width: 85,
templet: function (data) {
for (var i = 0; i < d.data.refundStatus.length; i++) {
if (data.status == d.data.refundStatus[i].value) {
return d.data.refundStatus[i].description;
}
}
return "";
}
},
{
field: 'paymentCode', title: '退款方式', sort: false, width: 100,
templet: function (data) {
for (var i = 0; i < d.data.paymentCode.length; i++) {
if (data.paymentCode == d.data.paymentCode[i].title) {
return d.data.paymentCode[i].description;
}
}
return "";
}
},
{ field: 'memo', title: '回执说明', sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsBillRefund-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsBillRefund-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsBillRefund-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsBillRefund-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('toolbar(LAY-app-CoreCmsBillRefund-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
case 'selectExportExcel':
doSelectExportExcel(checkStatus);
break;
case 'queryExportExcel':
doQueryExportexcel();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsBillRefund-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'audit') {
doAudit(obj);
} else if (obj.event === 'reaudit') {
reAudit(obj)
}
});
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsBillRefund/GetDetails", { id: obj.data.refundId }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['1000px', '90%'],
id: 'LAY-popup-CoreCmsBillRefund-details',
success: function (layero, index) {
view(this.id).render('financial/billrefund/details', { data: e.data }).done(function () {
form.render();
});
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doAudit(obj) {
coreHelper.Post("Api/CoreCmsBillRefund/GetAudit", { id: obj.data.refundId }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '审核退款单',
area: ['630px', '350px'],
id: 'LAY-popup-CoreCmsBillRefund-edit',
success: function (layero, index) {
view(this.id).render('financial/billrefund/audit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsBillRefund-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsBillRefund/DoAudit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsBillRefund-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行再次退款
function reAudit(obj) {
layer.confirm('确定执行再次退款吗?', function (index) {
coreHelper.Post("Api/CoreCmsBillRefund/DoReAudit", { id: obj.data.refundId }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsBillRefund-tableBox');
layer.msg(e.msg);
});
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsBillRefund/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsBillRefund/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
});
};
</script>

View File

@@ -0,0 +1,100 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsInvoice-editForm" id="LAY-app-CoreCmsInvoice-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="category" class="layui-form-label">开票类型</label>
<div class="layui-input-inline layui-inline-3">
<select name="category" id="category" lay-search lay-verType="tips" disabled="disabled">
{{# layui.each(d.params.data.orderTaxCategory, function(index, item){ }}
<option value="{{item.value}}" {{item.value===d.params.data.model.category?'selected="selected"':''}}>{{item.description}}</option>
{{# }); }}
</select>
</div>
<label for="sourceId" class="layui-form-label">资源ID</label>
<div class="layui-input-inline layui-inline-3">
<input name="sourceId" id="sourceId" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" value="{{d.params.data.model.sourceId || '' }}" disabled="disabled" />
</div>
</div>
<div class="layui-form-item">
<label for="status" class="layui-form-label">开票状态</label>
<div class="layui-input-inline layui-inline-3">
<select name="status" id="status" lay-search lay-verType="tips" lay-verify="required|verifylogiCode">
<option value="">请选择</option>
{{# layui.each(d.params.data.orderTaxStatus, function(index, item){ }}
<option value="{{item.value}}" {{item.value===d.params.data.model.status?'selected="selected"':''}}>{{item.description}}</option>
{{# }); }}
</select>
</div>
<label for="type" class="layui-form-label">发票类型</label>
<div class="layui-input-inline layui-inline-3">
<select name="type" id="type" lay-search lay-verType="tips" lay-verify="required">
<option value="">请选择</option>
<option value="2" {{d.params.data.model.type===2?'selected="selected"':''}}>个人发票</option>
<option value="3" {{d.params.data.model.type===3?'selected="selected"':''}}>公司发票</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label for="title" class="layui-form-label">发票抬头</label>
<div class="layui-input-inline layui-inline-8">
<input name="title" id="title" lay-verType="tips" lay-verify="required|verifytitle" class="layui-input" placeholder="请输入发票抬头" lay-reqText="请输入发票抬头" value="{{d.params.data.model.title || '' }}" />
</div>
</div>
<div class="layui-form-item" lay-size="sm">
<label for="taxNumber" class="layui-form-label">发票税号</label>
<div class="layui-input-inline layui-inline-3">
<input name="taxNumber" id="taxNumber" lay-verType="tips" class="layui-input" placeholder="请输入发票税号" lay-reqText="请输入发票税号" value="{{d.params.data.model.taxNumber || '' }}" />
</div>
<label for="amount" class="layui-form-label">发票金额</label>
<div class="layui-input-inline layui-inline-3">
<input name="amount" id="amount" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="请输入发票金额" lay-reqText="请输入发票金额" value="{{d.params.data.model.amount || '' }}" />
</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="remarks" class="layui-form-label">开票备注</label>
<div class="layui-input-block">
<textarea name="remarks" id="remarks" class="layui-textarea">{{d.params.data.model.remarks || '' }}</textarea>
</div>
</div>
<div class="layui-form-item core-hidden">
<div class="layui-input-block">
<div class="layui-footer">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsInvoice-editForm-submit" id="LAY-app-CoreCmsInvoice-editForm-submit" value="确认编辑">
</div>
</div>
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
form.verify({
verifysourceId: [/^[\S]{0,32}$/, '资源ID最大只允许输入32位字符且不能出现空格'],
verifytitle: [/^[\S]{0,255}$/, '发票抬头最大只允许输入255位字符且不能出现空格'],
verifytaxNumber: [/^[\S]{0,32}$/, '发票税号最大只允许输入32位字符且不能出现空格'],
verifyremarks: [/^[\S]{0,2000}$/, '开票备注最大只允许输入2000位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsInvoice-editForm');
})
};
</script>

View File

@@ -0,0 +1,351 @@
<title>发票表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsInvoice/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsInvoice-tableBox" lay-filter="LAY-app-CoreCmsInvoice-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsInvoice-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<select name="category" id="category" lay-filter="conditionCode">
<option value="">请选择类型开票类型</option>
{{# layui.each(indexData.orderTaxCategory, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type" id="type">
<option value="">请选择发票类型</option>
{{# layui.each(indexData.orderTaxType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="title" id="title" placeholder="请输入发票抬头" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="taxNumber" id="taxNumber" placeholder="请输入发票税号" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="status" id="status">
<option value="">请选择开票状态</option>
{{# layui.each(indexData.orderTaxStatus, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsInvoice-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsInvoice-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsInvoice-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
laydate.render({
elem: '#searchTime-CoreCmsInvoice-createTime',
type: 'datetime',
range: '到',
});
laydate.render({
elem: '#searchTime-CoreCmsInvoice-updateTime',
type: 'datetime',
range: '到',
});
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsInvoice-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsInvoice-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsInvoice-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsInvoice/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsInvoice-toolbar',
pagebar: '#LAY-app-CoreCmsInvoice-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 50, sort: false },
{
field: 'category', title: '资源类型', sort: false, width: 80,
templet: function (data) {
for (var i = 0; i < d.data.orderTaxCategory.length; i++) {
if (data.category == d.data.orderTaxCategory[i].value) {
return d.data.orderTaxCategory[i].description;
}
}
return "";
}
},
{ field: 'sourceId', title: '资源序列', sort: false, width: 125 },
{
field: 'userNickName', title: '用户', sort: false, width: 105, templet: function (d) {
return d.userNickName + '' + d.userId + '';
}
},
{
field: 'type', title: '发票类型', sort: false, width: 80,
templet: function (data) {
for (var i = 0; i < d.data.orderTaxType.length; i++) {
if (data.type == d.data.orderTaxType[i].value) {
return d.data.orderTaxType[i].description;
}
}
return "";
}
},
{ field: 'title', title: '发票抬头', sort: false },
{ field: 'taxNumber', title: '发票税号', sort: false, width: 150 },
{ field: 'amount', title: '发票金额', sort: false, width: 80, templet: function (data) { return '¥' + data.amount } },
{
field: 'status', title: '开票状态', width: 80,
templet: function (data) {
//for (var i = 0; i < d.data.orderTaxStatus.length; i++) {
// if (data.status == d.data.orderTaxStatus[i].value) {
// return d.data.orderTaxStatus[i].description;
// }
//}
//return "";
if (data.status === 1) {
return "<button type=\"button\" class=\"layui-btn layui-btn-danger layui-btn-xs\">未开票</button>";
} else if (data.status === 2) {
return "<button type=\"button\" class=\"layui-btn layui-btn-xs\">已开发 </button>";
}
}
},
{ field: 'remarks', title: '开票备注', sort: false, width: 105 },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsInvoice-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsInvoice-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsInvoice-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsInvoice-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'selectExportExcel':
doSelectExportExcel(checkStatus);
break;
case 'queryExportExcel':
doQueryExportexcel();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsInvoice-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsInvoice/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['600px', '500px'],
id: 'LAY-popup-CoreCmsInvoice-edit',
success: function (layero, index) {
view(this.id).render('financial/invoice/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsInvoice-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsInvoice/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsInvoice-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsInvoice-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsInvoice/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['600px', '400px'],
id: 'LAY-popup-CoreCmsInvoice-details',
success: function (layero, index) {
view(this.id).render('base/CoreCmsInvoice/details', { data: e.data }).done(function () {
form.render();
});
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsInvoice/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsInvoice-tableBox');
layer.msg(e.msg);
});
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsInvoice/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsInvoice/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_status)', function (obj) {
coreHelper.Post("Api/CoreCmsInvoice/DoSetstatus", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsInvoice-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否开票-->
<script type="text/html" id="switch_status">
<input type="checkbox" name="switch_status" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_status" {{ d.status ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,168 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsPayments-editForm" id="LAY-app-CoreCmsPayments-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.id}}" />
<input type="hidden" name="code" id="code" value="{{d.params.data.code}}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label">支付类型名称</label>
<div class="layui-form-mid layui-word-aux"> {{d.params.data.name || '' }}</div>
</div>
<div class="layui-form-item">
<label for="code" class="layui-form-label">支付类型编码</label>
<div class="layui-form-mid layui-word-aux">{{d.params.data.code || '' }}</div>
</div>
<div class="layui-form-item">
<label for="memo" class="layui-form-label">方式描述</label>
<div class="layui-form-mid layui-word-aux">{{d.params.data.memo || '' }}</div>
</div>
<div id="codeDiv"></div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.sort || '' }}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item" pane>
<label for="isEnable" class="layui-form-label">是否启用</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isEnable" id="isEnable" {{ d.params.data.isEnable ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<div class="layui-footer">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsPayments-editForm-submit" id="LAY-app-CoreCmsPayments-editForm-submit" value="确认编辑">
</div>
</div>
</div>
</div>
</script>
<script id="codeTmp" type="text/html">
{{# if(d.data.code=='wechatpay'){ }}
<div class="layui-form-item">
<label class="layui-form-label">商户号</label>
<div class="layui-input-inline layui-inline-6">
<input type="text" name="mch_id" value="{{d.params.mch_id || '' }}" required lay-verType="tips" lay-verify="required" placeholder="请输入商户号" autocomplete="off" class="layui-input">
<span style="font-size:0.8em;"><a href="https://pay.weixin.qq.com/" style="color:#FF7159;" target="_blank">商户平台</a></span>
</div>
</div>
<div id="radio_type_2">
<div class="layui-form-item">
<label class="layui-form-label">API秘钥</label>
<div class="layui-input-inline layui-inline-6">
<input type="text" name="key" value="{{d.params.key || '' }}" required lay-verType="tips" lay-verify="required" placeholder="请输入API秘钥" autocomplete="off" class="layui-input">
<span style="font-size:0.8em;"><a href="https://pay.weixin.qq.com/" style="color:#FF7159;" target="_blank">商户平台</a>API</span>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">appid</label>
<div class="layui-input-block" style="font-size:0.9em;">
appid的取值是取的在后台微信管理小程序配置里和后台微信管理公众号配置里的appid当是微信公众号内支付的话使用的就是微信公众号的appid当是小程序支付的话使用的是小程序的appid当只有h5端微信支付的时候不开启微信公众号和微信小程序的时候这两个appid随便写一个就可以了
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">证书</label>
<div class="layui-input-block" style="font-size:0.9em;">
如果在线退款的话需要手动上传cert证书和key证书不在线退款的话可以不传cert证书和key证书<br />
cert证书请手动上传到/config/payment_cert/wechatpay/apiclient_cert.pem
key证书请手动上传到/config/payment_cert/wechatpay/apiclient_key.pem
</div>
</div>
</div>
{{# } else if (d.data.code=='alipay') { }}
<div class="layui-form-item">
<label class="layui-form-label">appid</label>
<div class="layui-input-inline layui-inline-6">
<input type="text" name="appid" value="{{d.params.appid || '' }}" required lay-verType="tips" lay-verify="required" placeholder="请输入appid" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">RSA私钥</label>
<div class="layui-input-block">
<textarea placeholder="请输入私钥" class="layui-textarea" lay-verType="tips" lay-verify="required" name="rsa_private_key">{{d.params.rsa_private_key || '' }}</textarea>
<div class="layui-form-mid">请输入私钥内容并确定应用的公钥已经上传到支付宝里了</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">支付宝公钥</label>
<div class="layui-input-block">
<textarea placeholder="请输入支付宝公钥" class="layui-textarea" lay-verType="tips" lay-verify="required" name="alipay_public_key">{{d.params.alipay_public_key || '' }}</textarea>
<div class="layui-form-mid">请输入支付宝公钥<a style="color:red;" href="https://docs.open.alipay.com/291/105972" target="_blank">上传应用公钥并获取支付宝公钥</a> </div>
</div>
</div>
{{# } else if (d.data.code=='offline') { }}
{{# } else { }}
{{# } }}
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'laytpl'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, laytpl = layui.laytpl
, coreHelper = layui.coreHelper;
var parameters;
if (d.params.data.code == 'wechatpay') {
if (d.params.data.parameters) {
var jsObject = JSON.parse(d.params.data.parameters);
parameters = {
"mch_id": jsObject.mch_id,
"key": jsObject.key,
}
} else {
parameters = {
"mch_id": '',
"key": '',
}
}
} else if (d.params.data.code == 'alipay') {
if (d.params.data.parameters) {
var jsObject = JSON.parse(d.params.data.parameters);
parameters = {
"appid": jsObject.appid,
"rsa_private_key": jsObject.rsa_private_key,
"alipay_public_key": jsObject.alipay_public_key,
}
} else {
parameters = {
"appid": '',
"rsa_private_key": '',
"alipay_public_key": '',
}
}
}
var tmpData = {
'data': d.params.data,
'params': parameters
}
var getTpl = codeTmp.innerHTML, view = document.getElementById('codeDiv');
laytpl(getTpl).render(tmpData, function (html) {
view.innerHTML = html;
});
form.verify({
verifyname: [/^[\S]{0,50}$/, '支付类型名称最大只允许输入50位字符且不能出现空格'],
verifycode: [/^[\S]{0,50}$/, '支付类型编码最大只允许输入50位字符且不能出现空格'],
verifymemo: [/^[\S]{0,200}$/, '方式描述最大只允许输入200位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsPayments-editForm');
})
};
</script>

View File

@@ -0,0 +1,187 @@
<title>支付方式表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsPayments/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsPayments-tableBox" lay-filter="LAY-app-CoreCmsPayments-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsPayments-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsPayments-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsPayments-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsPayments-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsPayments/GetPageList',
method: 'POST',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '排序', width: 80, sort: false },
{ field: 'name', title: '支付类型名称', sort: false, width: 150 },
{ field: 'code', title: '支付类型编码', sort: false, width: 150 },
{ field: 'isOnline', title: '是否线上支付', width: 150, templet: '#switch_isOnline', sort: false, unresize: true },
{ field: 'sort', title: '排序', sort: false, width: 105 },
{ field: 'memo', title: '方式描述', sort: false },
{ field: 'isEnable', title: '是否启用', width: 95, templet: '#switch_isEnable', sort: false, unresize: true },
//{ width: 102, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsPayments-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsPayments-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsPayments-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-CoreCmsPayments-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//监听工具条
table.on('tool(LAY-app-CoreCmsPayments-tableBox)',
function (obj) {
if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsPayments/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({ shadeClose: false,
title: '编辑数据',
area: ['600px', '600px'],
id: 'LAY-popup-CoreCmsPayments-edit',
success: function (layero, index) {
view(this.id).render('financial/payments/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsPayments-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isOnline = field.isOnline == 'on';
field.isEnable = field.isEnable == 'on';
if (field.code == 'wechatpay') {
var parameters = {
"mch_id": field.mch_id,
"key": field.key,
}
field.parameters = JSON.stringify(parameters);
} else if (field.code == 'alipay') {
var parameters = {
"appid": field.appid,
"rsa_private_key": field.rsa_private_key,
"alipay_public_key": field.alipay_public_key,
}
field.parameters = JSON.stringify(parameters);
} else {
field.parameters = "";
}
field.sort = parseInt(field.sort);
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsPayments/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsPayments-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
});
} else {
layer.msg(e.msg);
}
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isOnline)', function (obj) {
coreHelper.Post("Api/CoreCmsPayments/DoSetisOnline", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsPayments-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isEnable)', function (obj) {
coreHelper.Post("Api/CoreCmsPayments/DoSetisEnable", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsPayments-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否线上支付-->
<script type="text/html" id="switch_isOnline">
<!--<input type="checkbox" name="switch_isOnline" disabled="disabled" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isOnline" {{ d.isOnline ? 'checked' : '' }}>-->
{{ d.isOnline ? '是' : '否' }}
</script>
<!--设置是否启用-->
<script type="text/html" id="switch_isEnable">
<input type="checkbox" name="switch_isEnable" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isEnable" {{ d.isEnable ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,188 @@
<title>用户余额表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsUserBalance/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsUserBalance-tableBox" lay-filter="LAY-app-CoreCmsUserBalance-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsUserBalance-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="userId" id="userId" placeholder="请输入用户昵称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="type" id="type" lay-filter="conditionCode">
<option value="">请选择类型</option>
{{# layui.each(indexData.userBalanceSourceTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsUserBalance-createTime" placeholder="请输入创建时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsUserBalance-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsUserBalance-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsUserBalance-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsUserBalance-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsUserBalance-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsUserBalance/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsUserBalance-toolbar',
pagebar: '#LAY-app-CoreCmsUserBalance-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{
field: 'userNickName', title: '用户', sort: false, width: 155, templet: function (d) {
return d.userNickName + '' + d.userId + '';
}
}, {
field: 'type', title: '资源类型', sort: false, width: 105, templet: function (data) {
if (data.type) {
for (var i = 0; i < d.data.userBalanceSourceTypes.length; i++) {
if (data.type == d.data.userBalanceSourceTypes[i].value) {
return d.data.userBalanceSourceTypes[i].description
}
}
}
}
},
{ field: 'sourceId', title: '资源编号', sort: false, width: 125 },
{ field: 'balance', title: '调整前余额', sort: false, width: 105, templet: function (data) { return '¥' + data.balance } },
{ field: 'money', title: '金额', sort: false, width: 105 , templet: function (data) { return '¥' + data.money } },
{ field: 'memo', title: '描述', sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsUserBalance-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsUserBalance-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsUserBalance/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsUserBalance/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
laydate.render({
elem: '#searchTime-CoreCmsUserBalance-createTime',
type: 'datetime',
range: '到',
});
});
};
</script>

View File

@@ -0,0 +1,288 @@
<title>用户提现记录表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsUserTocash/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsUserTocash-tableBox" lay-filter="LAY-app-CoreCmsUserTocash-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsUserTocash-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="userId" id="userId" placeholder="请输入用户序列" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="accountName" id="accountName" placeholder="请输入账户名" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="status" id="status" lay-filter="conditionCode">
<option value="">请选择提现状态</option>
{{# layui.each(indexData.userTocashTypes, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline core-time-input">
<input type="text" name="createTime" id="searchTime-CoreCmsUserTocash-createTime" placeholder="请输入起止时间" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsUserTocash-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsUserTocash-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i></button>
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i></button>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsUserTocash-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsUserTocash-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsUserTocash-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsUserTocash/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsUserTocash-toolbar',
pagebar: '#LAY-app-CoreCmsUserTocash-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: 'ID号', width: 60, sort: false },
{
field: 'userNickName', title: '用户', sort: false, width: 105, templet: function (d) {
return d.userNickName + '' + d.userId + '';
}
},
{
field: 'operating', title: '操作', width: 100, align: 'center', templet: function (data) {
var html = '';
if (data.status == 1) {
html += '<a class="layui-btn layui-btn-xs option-yes" data-type="2" data-id="' + data.id + '">通过</a>';
html += '<a class="layui-btn layui-btn-danger layui-btn-xs option-no" data-type="3" data-id="' + data.id + '" >驳回</a>';
}
return html;
}
},
{ field: 'money', title: '提现金额', sort: false, width: 80, templet: function (data) { return '¥' + data.money } },
{ field: 'bankName', title: '银行名称', sort: false, width: 105 },
{ field: 'bankCode', title: '银行缩写', sort: false, width: 65 },
//{ field: 'bankAreaId', title: '账号地区ID', sort: false, width: 105 },
{ field: 'accountBank', title: '开户行', sort: false },
{ field: 'accountName', title: '账户名', sort: false, width: 105 },
{ field: 'cardNumber', title: '卡号', sort: false, width: 145 },
{ field: 'withdrawals', title: '提现服务费', sort: false, width: 85 },
{
field: 'status', title: '提现状态', sort: false, width: 65, templet: function (data) {
for (var i = 0; i < d.data.userTocashTypes.length; i++) {
if (data.status == d.data.userTocashTypes[i].value) {
return d.data.userTocashTypes[i].title;
}
}
return "";
}
},
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsUserTocash-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsUserTocash-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('toolbar(LAY-app-CoreCmsUserTocash-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'selectExportExcel':
doSelectExportExcel(checkStatus);
break;
case 'queryExportExcel':
doQueryExportexcel();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsUserTocash-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
}
});
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/CoreCmsUserTocash/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['600px', '400px'],
id: 'LAY-popup-CoreCmsUserTocash-details',
success: function (layero, index) {
view(this.id).render('base/CoreCmsUserTocash/details', { data: e.data }).done(function () {
form.render();
});
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsUserTocash/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsUserTocash/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
//审核驳回
$(document).on('click', '.option-no', function () {
var id = $(this).attr('data-id');
var type = $(this).attr('data-type');
layer.confirm('您确定做此操作吗?', {
btn: ['确认', '取消'] //按钮
}, function () {
coreHelper.Post("Api/CoreCmsUserTocash/SetStatus", { 'id': id, 'data': type }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsUserTocash-tableBox'); //重载表格
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
}, function () {
layer.close(1);
});
});
//审核通过
$(document).on('click', '.option-yes', function () {
var id = $(this).attr('data-id');
var type = $(this).attr('data-type');
layer.confirm('您确定做此操作吗?', {
btn: ['确认', '取消'] //按钮
}, function () {
coreHelper.Post("Api/CoreCmsUserTocash/SetStatus", { 'id': id, 'data': type }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsUserTocash-tableBox'); //重载表格
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
}, function () {
layer.close(1);
});
});
laydate.render({
elem: '#searchTime-CoreCmsUserTocash-createTime',
type: 'datetime',
range: '到',
});
});
};
</script>

View File

@@ -0,0 +1,76 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-tab-item layui-show">
<div class="">
<div class="warning-msg">
<div class="warning-msg-content">
<p>当前选中{{d.params.data.entity.id.length}}条数据</p>
<p>
使用说明<br />
价格类型是指具体要修改某一种类型的价格包含会员价调整类型是在原有的基础上对价格进行修改调整值是价格类型通过调整类型和调整值计算得到<br />
例如调整销售价统一设置为10则价格类型选择销售价调整类型选择=调整值输入10即可
如想调整销售价上浮10%则价格选择销售价调整类型选择x调整值输入1.1即可
</p>
会员等级价格调整时是商品实际价格为商品价格减去会员价
</div>
</div>
<div id="layui-card">
<div class="layui-form" lay-filter="LAY-app-CoreCmsGoods-batchModifyPrice" id="LAY-app-CoreCmsGoods-batchModifyPrice">
<input type="hidden" name="ids" value="{{d.params.data.entity.id}}">
<div class="layui-form-item">
<label class="layui-form-label">价格类型</label>
<div class="layui-input-inline">
<select name="priceType">
{{# layui.each(d.params.data.priceType, function(index, item){ }}
<option value="{{ item.title }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整类型</label>
<div class="layui-input-inline">
<select name="modifyType">
<option value="+">+</option>
<option value="-">-</option>
<option value="=">=</option>
<option value="*">x</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整值</label>
<div class="layui-input-inline">
<input type="text" value="" name="priceValue" lay-verType="tips" lay-verify="required|money" placeholder="请输入金额调整值" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsGoods-batchModifyPrice-submit" id="LAY-app-CoreCmsGoods-batchModifyPrice-submit" value="确认提交">
</div>
</div>
</div>
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
form.verify({
money: [/((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, '请输入金额'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsGoods-batchModifyPrice');
})
};
</script>

View File

@@ -0,0 +1,50 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoods-batchModifyStock" id="LAY-app-CoreCmsGoods-batchModifyStock">
<input type="hidden" name="ids" value="{{d.params.data.entity.id}}">
<div class="warning-msg">
<div class="warning-msg-content">
<p>当前选中{{ d.params.data.entity.id.length }}条数据</p>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整类型</label>
<div class="layui-input-inline">
<select name="modifyType">
<option value="+">+</option>
<option value="-">-</option>
<option value="=">=</option>
<option value="*">x</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整值</label>
<div class="layui-input-inline">
<input type="text" value="" name="modifyValue" lay-verType="tips" lay-verify="required|number" placeholder="请输入调整值" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsGoods-batchModifyStock-submit" id="LAY-app-CoreCmsGoods-batchModifyStock-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, coreHelper = layui.coreHelper;
//重载form
form.render(null, 'LAY-app-CoreCmsGoods-batchModifyStock');
})
};
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,99 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsLabel-editForm" id="LAY-app-CoreCmsLabel-editForm">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>已选标签</legend>
</fieldset>
<input type="hidden" name="ids" value="{{d.params.data.ids.id}}">
<div class="layui-form-item" id="select_label">
{{# if(d.params.data.labels.length<=0){ }}
所选商品暂无标签
{{# } }}
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsLabel-editForm-submit" id="LAY-app-CoreCmsLabel-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var selected = new Array;
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
var labels = d.params.data.labels;
if (labels.length > 0) {
$.each(labels, function (i, j) {
appendLabel(j.name, j.style);
})
}
//删除标签
$(".layui-layer-content").on('click', '.layui-unselect', function () {
var label = $(this).parent().parent();
var label_text = label.attr('data-text');
if (selected.length > 0) {
$.each(selected, function (i, j) {
if (selected[i]) {
if (j.text == label_text) {
selected.splice(i, 1);
label.remove();
}
}
});
}
});
//追加标签
function appendLabel(label_text, label_style) {
var current = { 'text': label_text, 'style': label_style };
var isAppend = true;
$.each(selected, function (i, j) {
if (j.text == label_text) {
layer.msg(label_text + '标签已存在');
isAppend = false;
return false;
}
});
if (isAppend) {
selected.push(current);
switch (label_style) {
case 'red':
label_style = "";
break;
case 'green':
label_style = "layui-bg-green";
break;
case 'orange':
label_style = "layui-bg-orange";
break;
case 'blue':
label_style = "layui-bg-blue";
break;
default:
label_style = '';
}
var html = '<div class="layui-inline" data-text="' + label_text + '"><label class="layui-form-label"><span class="layui-badge ' + label_style + '" >' + label_text + '</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i></label></div>';
$("#select_label").append(html);
}
}
//重载form
form.render(null, 'LAY-app-CoreCmsLabel-editForm');
})
};
function getSelected() {
if (selected <= 0) {
return [];
}
return selected;
}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,149 @@
<style>
.layui-form-pane .layui-form-label { width: 110px; padding: 8px 15px; height: 38px; line-height: 20px; border-width: 0px; border-style: solid; border-radius: 2px 0 0 2px; text-align: center; background-color: #fff; overflow: hidden; box-sizing: border-box; }
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsLabel-createForm" id="LAY-app-CoreCmsLabel-createForm">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>已选标签</legend>
</fieldset>
<div class="layui-form">
<div class="layui-form-item" id="select_label">
</div>
</div>
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
<legend>选择标签</legend>
</fieldset>
<div class="layui-form">
<input type="hidden" name="ids" value="{{d.params.data.ids.id}}">
<div class="layui-form-item" id="default_item">
{{# layui.each(d.params.data.labels, function(index, item){ }}
<div class="layui-inline"><label class="layui-form-label"><span class="layui-badge layui-bg-{{item.style}}" data-value="{{ item.name }}" data-style="{{ item.style }}">{{ item.name }}</span></label></div>
{{# }); }}
{{# if(d.params.data.labels.length<=0){ }}
<div class="layui-inline"><label class="layui-form-label"><span class="layui-badge" data-value="热卖" data-style="red">热卖</span></label></div>
<div class="layui-inline"><label class="layui-form-label"><span class="layui-badge layui-bg-green" data-value="新品" data-style="green">新品</span></label></div>
<div class="layui-inline"><label class="layui-form-label"><span class="layui-badge layui-bg-orange" data-value="推荐" data-style="orange">推荐</span></label></div>
<div class="layui-inline"><label class="layui-form-label"><span class="layui-badge layui-bg-blue" data-value="促销" data-style="blue">促销</span></label></div> {{# } }}
</div>
<div class="layui-form-item">
<label class="layui-form-label">标签名称</label>
<div class="layui-input-inline">
<input type="text" name="name" id="label_name" lay-verify="verifyname" style="width:200px;" placeholder="请输入标签名称" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline">
<select name="style" id="style">
<option value="">请选择颜色</option>
<option value="red" selected="">红色</option>
<option value="green">绿色</option>
<option value="orange">橙色</option>
<option value="blue">蓝色</option>
</select>
</div>
<div class="layui-input-inline text-center" style="width: 40px;">
<button class="layui-btn layui-btn-sm layui-btn-normal" id="add_label" style="height: 37px;line-height: 37px;">确定</button>
</div>
</div>
</div>
<div class="layui-form-item core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsLabel-createForm-submit" id="LAY-app-CoreCmsLabel-createForm-submit" value="确认设置">
</div>
</div>
</script>
<script>
var selected = new Array;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, coreHelper = layui.coreHelper;
form.verify({
verifyname: [/^[\S]{0,4}$/, '标签名称最大只允许输入4位字符且不能出现空格'],
});
//todo 默认选中
$("#default_item span").click(function () {
var label_text = $(this).attr("data-value");
var label_style = $(this).attr("data-style");
appendLabel(label_text, label_style);
});
$("#add_label").click(function () {
var label_text = $("#label_name").val();
if (label_text) {
var label_style = $("#style").val();
appendLabel(label_text, label_style);
} else {
layer.msg('标签名称不能为空');
return false;
}
});
//删除标签
$(".layui-layer-content").on('click', '.layui-unselect', function () {
var label = $(this).parent().parent();
var label_text = label.attr('data-text');
if (selected.length > 0) {
$.each(selected, function (i, j) {
if (selected[i]) {
if (j.text == label_text) {
selected.splice(i, 1);
label.remove();
}
}
});
}
});
//追加标签
function appendLabel(label_text, label_style) {
var current = { 'text': label_text, 'style': label_style };
var isAppend = true;
$.each(selected, function (i, j) {
if (j.text == label_text) {
layer.msg(label_text + '标签已存在');
isAppend = false;
return false;
}
});
if (isAppend) {
selected.push(current);
switch (label_style) {
case 'red':
label_style = "";
break;
case 'green':
label_style = "layui-bg-green";
break;
case 'orange':
label_style = "layui-bg-orange";
break;
case 'blue':
label_style = "layui-bg-blue";
break;
default:
label_style = '';
}
var html = '<div class="layui-inline" data-text="' + label_text + '"><label class="layui-form-label"><span class="layui-badge ' + label_style + '" >' + label_text + '</span><i class="layui-icon layui-unselect layui-tab-close">ဆ</i></label></div>';
$("#select_label").append(html);
}
}
//重载form
form.render(null, 'LAY-app-CoreCmsLabel-createForm');
})
};
function getSelected() {
if (selected <= 0) {
layer.msg("请先选择标签");
return false;
}
return selected;
}
</script>

View File

@@ -0,0 +1,672 @@
<title>商品表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
.layui-card-body { background-color: #fff; padding: 0px; margin: 10px; border: 0px solid #e6e6e6; }
.layui-tab-content { padding: 0px 10px 10px 10px; }
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsGoods/GetIndex" lay-done="layui.data.done(d);">
<div class="layui-card-body">
<div class="layui-tab layui-tab-card" lay-filter="goods-tab" style="margin:0;">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="all">全部商品<span class="layui-badge layui-bg-gray">{{d.data.totalGoods}}</span></li>
<li lay-id="up">上架商品<span class="layui-badge layui-bg-green">{{d.data.totalMarketableUp}}</span></li>
<li lay-id="down">下架商品<span class="layui-badge layui-bg-black">{{d.data.totalMarketableDown}}</span></li>
<li lay-id="warn">库存报警<span class="layui-badge">{{d.data.totalWarn}}</span></li>
</ul>
<div class="layui-tab-content">
<table id="LAY-app-CoreCmsGoods-tableBox" lay-filter="LAY-app-CoreCmsGoods-tableBox"></table>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsGoods-tableBox-bar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<!--<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>-->
<a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#goodsTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="goodsTbDelDrop{{d.LAY_INDEX}}"
style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
<div class="dropdown-anchor"></div>
<div class="dropdown-popconfirm-title">
<i class="layui-icon layui-icon-help"></i>
确定要删除{{d.name}}
</div>
<div class="dropdown-popconfirm-btn">
<a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
<a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsGoods-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<div id="goodsSelectCategorytTree" class="ew-xmselect-tree"></div>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="brandId" id="brandId">
<option value="">请选择所属品牌</option>
{{# layui.each(indexData.brands, function(index, item){ }}
<option value="{{ item.id }}">{{ item.name }}</option>
{{# }); }}
</select>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsGoods-pagebar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" id="addGoods" lay-filter="goods-add"><i class="layui-icon">&#xe608;</i></button>
<div class="layui-btn-group">
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="modify_price">修改价格</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="modify_stock">调整库存</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="marketable_up">批量上架</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="marketable_down">批量下架</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="label">批量打标签</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="dellabel">批量去标签</button>
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="del">批量删除</button>
</div>
</div>
</div>
</div>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper', 'element', 'xmSelect'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, xmSelect = layui.xmSelect
, element = layui.element
, view = layui.view;
//重载form
form.render();
var searchwhere = {};
//监听搜索
form.on('submit(LAY-app-CoreCmsGoods-search)',
function (data) {
var tempfilter = $.extend({}, searchwhere, data.field);//合并tab筛选和普通搜索
//执行重载
table.reloadData('LAY-app-CoreCmsGoods-tableBox', {
where: tempfilter
, page: {
curr: 1 //重新从第 1 页开始
}
});
});
//切换table
element.on('tab(goods-tab)', function (data) {
var type = this.getAttribute('lay-id');
if (type == 'all') {
searchwhere = {};
searchwhere.warn = '';
searchwhere.isMarketable = '';
} else if (type == 'up') {
searchwhere.warn = '';
searchwhere.isMarketable = 'true';
} else if (type == 'down') {
searchwhere.warn = '';
searchwhere.isMarketable = 'false';
} else if (type == 'warn') {
searchwhere.isMarketable = '';
searchwhere.warn = 'true';
}
var basefilter = $(".coreshop-toolbar-search-form").serializeArray();
$.each(basefilter, function (i, obj) {
if (!searchwhere.hasOwnProperty(obj.name)) {
searchwhere[obj.name] = obj.value;
}
});
console.log(searchwhere);
table.reloadData('LAY-app-CoreCmsGoods-tableBox', {
where: searchwhere
, page: {
curr: 1 //重新从第 1 页开始
}
});
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsGoods-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsGoods/GetPageList',
method: 'POST',
pagebar: '#LAY-app-CoreCmsGoods-pagebar',
toolbar: '#LAY-app-CoreCmsGoods-toolbar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-179',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 50, sort: false },
{ width: 142, align: 'center', title: '操作', toolbar: '#LAY-app-CoreCmsGoods-tableBox-bar' },
{ field: 'isMarketable', title: '上架', width: 80, templet: '#switch_isMarketable', sort: false, unresize: true },
{ field: 'isRecommend', title: '推荐', width: 80, templet: '#switch_isRecommend', sort: false, unresize: true },
{ field: 'isHot', title: '热门', width: 80, templet: '#switch_isHot', sort: false, unresize: true },
{
field: 'images', title: '封面图', width: 60, sort: false,
templet: function (d) {
if (d.image) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.image + '")><image style="max-width:30px;max-height:30px;" src="' + d.image + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'name', title: '商品名称', sort: false },
//{ field: 'stock', title: '库存', sort: false, width: 60 },
{ field: 'sort', title: '排序', sort: false, width: 40 },
{
field: 'productsDistributionType', title: '佣金方式', sort: false, width: 80, templet: function (data) {
if (data.productsDistributionType === 1) {
return '<button class="layui-btn layui-btn-warm layui-btn-xs">全局设置</button>'
} else if (data.productsDistributionType === 2) {
return '<button class="layui-btn layui-btn-normal layui-btn-xs">单独设置</button>'
} else {
return '';
}
}
},
//{
// field: 'labelIds', title: '标签', sort: false, width: 105, templet: function (data) {
// return coreHelper.getLabel(data.labels);
// }
//},
{ field: 'price', title: '销售价', sort: false, width: 70, templet: function (data) { return '¥' + data.price } },
{ field: 'costprice', title: '成本价', sort: false, width: 70, templet: function (data) { return '¥' + data.costprice } },
{ field: 'mktprice', title: '市场价', sort: false, width: 70, templet: function (data) { return '¥' + data.mktprice } },
{
field: 'goodsCategoryId', title: '分类', sort: false, width: 80, templet: function (data) {
for (var i = 0; i < d.data.categoriesAll.length; i++) {
if (d.data.categoriesAll[i].id === data.goodsCategoryId) {
return d.data.categoriesAll[i].name;
}
}
return "";
}
},
{
field: 'brandId', title: '品牌', sort: false, width: 80, templet: function (data) {
for (var i = 0; i < d.data.brands.length; i++) {
if (d.data.brands[i].id === data.brandId) {
return d.data.brands[i].name;
}
}
return "";
}
},
{ field: 'updateTime', title: '更新时间', sort: false, width: 130 },
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsGoods-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
//table.on('rowDouble(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
//});
//监听工具条
table.on('tool(LAY-app-CoreCmsGoods-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择要处理的数据');
return false;
}
var ids = [];
$.each(checkData, function (i, obj) {
ids.push(obj.id);
});
switch (obj.event) {
case 'marketable_up':
marketable(ids, 'up');
break;
case 'marketable_down':
marketable(ids, 'down');
break;
case 'label':
setLabel(ids);
break;
case 'del':
delGoods(ids);
break;
case 'dellabel':
dellabel(ids);
break;
case 'modify_price':
modifyPrice(ids);
break;
case 'modify_stock':
modifyStock(ids);
break;
default:
layer.msg('请选择操作类型');
return false;
}
});
//上下架操作
function marketable(data, type) {
layer.confirm('是否确定该操作?', {
title: '提示',
btn: ['是', '否'] //按钮
}, function () {
if (type === 'up') {
coreHelper.Post("Api/CoreCmsGoods/DoBatchMarketableUp", { id: data }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
} else {
coreHelper.Post("Api/CoreCmsGoods/DoBatchMarketableDown", { id: data }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
}
});
}
//设置标签
function setLabel(data) {
coreHelper.Post("Api/CoreCmsGoods/GetLabel", { id: data }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '设置标签',
area: ['600px', '500px'],
id: 'LAY-popup-CoreCmsLabel-create',
success: function (layero, index) {
view(this.id).render('good/goods/getLabel', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsLabel-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
var selectedData = getSelected();
if (debug) { console.log(field); } //开启调试返回数据
field.ids = field.ids.split(',');
var postData = { 'ids': field.ids, 'labels': selectedData };
if (debug) { console.log(postData); }
//return false;
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsGoods/DoSetLabel", postData, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsGoods-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsLabel-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//去标签
function dellabel(data) {
coreHelper.Post("Api/CoreCmsGoods/GetDeleteLabel", { id: data }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '取消标签',
area: ['600px', '300px'],
id: 'LAY-popup-CoreCmsLabel-edit',
success: function (layero, index) {
view(this.id).render('good/goods/delLabel', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsLabel-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
var selectedData = getSelected();
if (debug) { console.log(field); } //开启调试返回数据
field.ids = field.ids.split(',');
var postData = { 'ids': field.ids, 'labels': selectedData };
if (debug) { console.log(postData); }
//return false;
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsGoods/DoDeleteLabel", postData, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsGoods-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsLabel-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//删除商品
function delGoods(delidsStr) {
layer.confirm('确定删除吗?删除后将无法恢复。',
function (index) {
coreHelper.Post("Api/CoreCmsGoods/DoBatchDelete", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
});
}
//修改价格
function modifyPrice(data) {
coreHelper.Post("Api/CoreCmsGoods/GetBatchModifyPrice", { id: data }, function (e) {
if (e.code === 0) {
console.log(e.data);
admin.popup({
shadeClose: false,
title: '批量修改价格',
area: ['600px', '500px'],
id: 'LAY-popup-CoreCmsGoods-batchModifyPrice',
success: function (layero, index) {
view(this.id).render('good/goods/batchModifyPrice', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsGoods-batchModifyPrice-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
field.ids = field.ids.split(',');
//return false;
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsGoods/DoBatchModifyPrice", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsGoods-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsGoods-batchModifyPrice-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//修改库存
function modifyStock(data) {
coreHelper.Post("Api/CoreCmsGoods/GetBatchModifyStock", { id: data }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '批量修改库存',
area: ['400px', '300px'],
id: 'LAY-popup-CoreCmsGoods-batchModifyStock',
success: function (layero, index) {
view(this.id).render('good/goods/batchModifyStock', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsGoods-batchModifyStock-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.ids = field.ids.split(',');
if (debug) { console.log(field); } //开启调试返回数据
//return false;
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsGoods/DoBatchModifyStock", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsGoods-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
// 禁止弹窗出现滚动条
$(layero).children('.layui-layer-content').css('overflow', 'visible');
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsGoods-batchModifyStock-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行创建操作
$("#addGoods").click(function () {
location.hash = '/good/goods/create';
});
//执行编辑操作
function doEdit(obj) {
location.hash = '/good/goods/edit/id=' + obj.data.id;
}
//执行单个删除
function doDelete(obj) {
coreHelper.Post("Api/CoreCmsGoods/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
}
//执行查询条件导出excel
function doQueryExportexcel() {
layer.confirm('确定根据当前的查询条件导出数据吗?',
function (index) {
var field = searchwhere;
coreHelper.PostForm("Api/CoreCmsGoods/QueryExportExcel", field, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//执行选择目录导出数据
function doSelectExportExcel(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要导出的数据');
}
layer.confirm('确定导出选择的内容吗?',
function (index) {
var delidsStr = [];
layui.each(checkData,
function (index, item) {
delidsStr.push(item.id);
});
layer.close(index);
coreHelper.Post("Api/CoreCmsGoods/SelectExportExcel", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
if (e.code === 0) {
window.open(e.data);
} else {
layer.msg(e.msg);
}
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isNomalVirtual)', function (obj) {
coreHelper.Post("Api/CoreCmsGoods/DoSetisNomalVirtual", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isMarketable)', function (obj) {
coreHelper.Post("Api/CoreCmsGoods/DoSetisMarketable", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isRecommend)', function (obj) {
coreHelper.Post("Api/CoreCmsGoods/DoSetisRecommend", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isHot)', function (obj) {
coreHelper.Post("Api/CoreCmsGoods/DoSetisHot", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
});
layui.form.on('switch(switch_isDel)', function (obj) {
coreHelper.Post("Api/CoreCmsGoods/DoSetisDel", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
layer.msg(e.msg);
});
});
// 渲染下拉树
var insXmSel = xmSelect.render({
el: '#goodsSelectCategorytTree',
tips: '请选择商品分类',
height: '250px',
data: d.data.categories.data,
//initValue: mData ? [mData.parentId] : [],
model: { label: { type: 'text' } },
name: 'goodsCategoryId',
prop: {
name: 'title',
value: 'id'
},
radio: true,
clickClose: true,
tree: {
show: true,
indent: 15,
strict: false,
expandedKeys: true
}
});
});
};
</script>
<!--设置是否虚拟商品-->
<script type="text/html" id="switch_isNomalVirtual">
<input type="checkbox" name="switch_isNomalVirtual" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isNomalVirtual" {{ d.isNomalVirtual ? 'checked' : '' }}>
</script>
<!--设置是否上架-->
<script type="text/html" id="switch_isMarketable">
<input type="checkbox" name="switch_isMarketable" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isMarketable" {{ d.isMarketable ? 'checked' : '' }}>
</script>
<!--设置是否推荐-->
<script type="text/html" id="switch_isRecommend">
<input type="checkbox" name="switch_isRecommend" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isRecommend" {{ d.isRecommend ? 'checked' : '' }}>
</script>
<!--设置是否热门-->
<script type="text/html" id="switch_isHot">
<input type="checkbox" name="switch_isHot" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isHot" {{ d.isHot ? 'checked' : '' }}>
</script>
<!--设置是否删除-->
<script type="text/html" id="switch_isDel">
<input type="checkbox" name="switch_isDel" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDel" {{ d.isDel ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,96 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsBrand-createForm" id="LAY-app-CoreCmsBrand-createForm">
<div class="layui-form-item">
<label for="name" class="layui-form-label">品牌名称</label>
<div class="layui-input-inline layui-inline-5">
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入品牌名称" placeholder="请输入品牌名称" />
</div>
</div>
<div class="layui-form-item">
<label for="logoImageUrl" class="layui-form-label">品牌LOGO</label>
<div class="layui-input-inline layui-inline-5">
<input name="logoImageUrl" id="logoImageUrl" lay-verType="tips" lay-verify="required" class="layui-input" placeholder="请上传品牌LOGO" lay-reqText="请上传品牌LOGO" />
</div>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upBtnlogoImageUrl">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="viewImgBoxlogoImageUrl">
<p id="viewTextBoxlogoImageUrl"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">品牌排序</label>
<div class="layui-input-inline layui-inline-2">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入品牌排序" lay-reqText="请输入品牌排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item">
<label for="isShow" class="layui-form-label">是否显示</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isShow" id="isShow" lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsBrand-createForm-submit" id="LAY-app-CoreCmsBrand-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'cropperImg', 'coreHelper'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//品牌LOGO图片上传
$('#upBtnlogoImageUrl').click(function () {
cropperImg.cropImg({
aspectRatio: 1 / 1,
imgSrc: $('#viewImgBoxlogoImageUrl').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoxlogoImageUrl').attr('src', res.data.fileUrl);
$("#logoImageUrl").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
laydate.render({
elem: '#createTime-CoreCmsBrand-createTime',
type: 'datetime'
});
form.verify({
verifyname: [/^[\S]{0,50}$/, '品牌名称最大只允许输入50位字符且不能出现空格'],
verifylogoImageUrl: [/^[\S]{0,255}$/, '品牌LOGO最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsBrand-createForm');
})
};
</script>

View File

@@ -0,0 +1,99 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsBrand-editForm" id="LAY-app-CoreCmsBrand-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.id || '' }}" />
<div class="layui-form-item">
<label for="name" class="layui-form-label">品牌名称</label>
<div class="layui-input-inline layui-inline-5">
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" placeholder="请输入品牌名称" lay-reqText="请输入品牌名称" value="{{d.params.data.name || '' }}" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过50个字符内容</div>
</div>
<div class="layui-form-item">
<label for="logoImageUrl" class="layui-form-label">品牌LOGO</label>
<div class="layui-input-inline layui-inline-5">
<input name="logoImageUrl" id="logoImageUrl" lay-verType="tips" lay-verify="required" class="layui-input" value="{{d.params.data.logoImageUrl || '' }}" placeholder="请上传品牌LOGO" lay-reqText="请上传品牌LOGO" />
</div>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upBtnlogoImageUrl">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="viewImgBoxlogoImageUrl" src="{{d.params.data.logoImageUrl || layui.setter.noImagePicUrl }}">
<p id="viewTextBoxlogoImageUrl"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">品牌排序</label>
<div class="layui-input-inline layui-inline-1">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.sort || '' }}" placeholder="请输入品牌排序" lay-reqText="请输入品牌排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item">
<label for="isShow" class="layui-form-label">是否显示</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isShow" id="isShow" {{ d.params.data.isShow ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsBrand-editForm-submit" id="LAY-app-CoreCmsBrand-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper','cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//品牌LOGO图片上传
$('#upBtnlogoImageUrl').click(function () {
cropperImg.cropImg({
aspectRatio: 1 / 1,
imgSrc: $('#viewImgBoxlogoImageUrl').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoxlogoImageUrl').attr('src', res.data.fileUrl);
$("#logoImageUrl").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
laydate.render({
elem: '#editTime-CoreCmsBrand-createTime',
type: 'datetime'
});
form.verify({
verifyname: [/^[\S]{0,50}$/, '品牌名称最大只允许输入50位字符且不能出现空格'],
verifylogoImageUrl: [/^[\S]{0,255}$/, '品牌LOGO最大只允许输入255位字符且不能出现空格'],
});
//重载form
form.render(null, 'LAY-app-CoreCmsBrand-editForm');
})
};
</script>

View File

@@ -0,0 +1,264 @@
<title>品牌表</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsBrand/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsBrand-tableBox" lay-filter="LAY-app-CoreCmsBrand-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsBrand-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="name" id="name" placeholder="请输入品牌名称" class="layui-input">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="isShow" id="isShow">
<option value="">请选择是否显示</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsBrand-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsBrand-pagebar">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</script>
<script type="text/html" id="LAY-app-CoreCmsBrand-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, view = layui.view;
//重载form
form.render();
var searchwhere;
//监听搜索
form.on('submit(LAY-app-CoreCmsBrand-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-CoreCmsBrand-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-CoreCmsBrand-tableBox',
url: layui.setter.apiUrl + 'Api/CoreCmsBrand/GetPageList',
method: 'POST',
toolbar: '#LAY-app-CoreCmsBrand-toolbar',
pagebar: '#LAY-app-CoreCmsBrand-pagebar',
className: 'pagebarbox',
defaultToolbar: ['filter', 'print', 'exports'],
height: 'full-127',//无面包屑127,搜索框189,1行62
page: true,
limit: 30,
limits: [10, 15, 20, 25, 30, 50, 100, 200],
text: { none: '暂无相关数据' },
cols: [
[
{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '品牌ID', width: 60, sort: false },
{ field: 'name', title: '品牌名称', sort: false },
{
field: 'logoImageUrl', title: '品牌LOGO', width: 120, sort: false,
templet: function (d) {
if (d.logoImageUrl) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.logoImageUrl + '")><image style="max-width:28px;max-height:28px;" src="' + d.logoImageUrl + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'sort', title: '品牌排序', sort: false, width: 105 },
{ field: 'isShow', title: '是否显示', width: 105, templet: '#switch_isShow', sort: false, unresize: true },
{ field: 'createTime', title: '更新时间', width: 130, sort: false },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsBrand-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-CoreCmsBrand-tableBox)', function (obj) {
table.reloadData('LAY-app-CoreCmsBrand-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//头工具栏事件
table.on('pagebar(LAY-app-CoreCmsBrand-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
};
});
//监听工具条
table.on('tool(LAY-app-CoreCmsBrand-tableBox)',
function (obj) {
if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
//执行创建操作
function doCreate() {
coreHelper.Post("Api/CoreCmsBrand/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['600px', '440px'],
id: 'LAY-popup-CoreCmsBrand-create',
success: function (layero, index) {
view(this.id).render('good/goodsbrand/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsBrand-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isShow = field.isShow == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsBrand/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsBrand-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsBrand-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsBrand/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['600px', '440px'],
id: 'LAY-popup-CoreCmsBrand-edit',
success: function (layero, index) {
view(this.id).render('good/goodsbrand/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsBrand-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isShow = field.isShow == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsBrand/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-CoreCmsBrand-tableBox'); //重载表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsBrand-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsBrand/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-CoreCmsBrand-tableBox');
layer.msg(e.msg);
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isShow)', function (obj) {
coreHelper.Post("Api/CoreCmsBrand/DoSetisShow", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsBrand-tableBox');
layer.msg(e.msg);
});
});
laydate.render({
elem: '#searchTime-CoreCmsBrand-createTime',
type: 'datetime',
range: '到',
});
});
};
</script>
<!--设置是否显示-->
<script type="text/html" id="switch_isShow">
<input type="checkbox" name="switch_isShow" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isShow" {{ d.isShow ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,140 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoodsCategory-createForm" id="LAY-app-CoreCmsGoodsCategory-createForm">
<div class="layui-form-item">
<label for="parentId" class="layui-form-label">上级分类</label>
<div class="layui-input-block">
<div id="selectTree" class="ew-xmselect-tree" lay-verType="tips" lay-reqText="请选择上级分类"></div>
</div>
</div>
<div class="layui-form-item">
<label for="name" class="layui-form-label">分类名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入分类名称" placeholder="请输入分类名称" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过20个字符内容</div>
</div>
<div class="layui-form-item">
<label for="typeId" class="layui-form-label">类型</label>
<div class="layui-input-inline">
<select name="typeId" id="typeId" lay-verType="tips" lay-verify="required|number">
<option value="0">通用类型</option>
{{# layui.each(d.params.data.types, function(index, item){ }}
<option value="{{ item.id }}">{{ item.name }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">分类排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" placeholder="请输入分类排序" lay-reqText="请输入分类排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item">
<label for="imageUrl" class="layui-form-label">分类图片</label>
<div class="layui-input-inline">
<input name="imageUrl" id="imageUrl" class="layui-input" placeholder="请上传分类图片" lay-reqText="请上传分类图片" />
</div>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upBtnimageUrl">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="viewImgBoximageUrl" src="{{ layui.setter.noImagePicUrl }}">
<p id="viewTextBoximageUrl"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="isShow" class="layui-form-label">是否显示</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isShow" id="isShow" lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsGoodsCategory-createForm-submit" id="LAY-app-CoreCmsGoodsCategory-createForm-submit" value="确认添加">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'xmSelect','cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, xmSelect = layui.xmSelect
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//分类图片ID图片上传
$('#upBtnimageUrl').click(function () {
cropperImg.cropImg({
aspectRatio: 1 / 1,
imgSrc: $('#viewImgBoximageUrl').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoximageUrl').attr('src', res.data.fileUrl);
$("#imageUrl").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
form.verify({
verifyname: [/^[\S]{0,20}$/, '分类名称最大只允许输入20位字符且不能出现空格'],
verifyimageUrl: [/^[\S]{0,255}$/, '分类图片ID最大只允许输入255位字符且不能出现空格'],
});
// 渲染商品分类
var insXmSelGoodsCategoryId = xmSelect.render({
el: '#selectTree',
height: '250px',
data: d.params.data.categories.data,
//initValue: d.data.model ? [d.data.model.goodsCategoryId] : [],
model: { label: { type: 'text' } },
name: 'parentId',
prop: {
name: 'title',
value: 'id'
},
layVerify: 'required',
layVerType: 'msg',
radio: true,
clickClose: true,
tree: {
show: true,
indent: 15,
strict: false,
expandedKeys: true
}
});
//重载form
form.render(null, 'LAY-app-CoreCmsGoodsCategory-createForm');
})
};
</script>

View File

@@ -0,0 +1,141 @@
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoodsCategory-editForm" id="LAY-app-CoreCmsGoodsCategory-editForm">
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="parentId" class="layui-form-label">上级分类</label>
<div class="layui-input-block">
<div id="selectTree" class="ew-xmselect-tree" lay-verType="tips" lay-reqText="请选择上级分类"></div>
</div>
</div>
<div class="layui-form-item">
<label for="name" class="layui-form-label">分类名称</label>
<div class="layui-input-inline">
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" placeholder="请输入分类名称" lay-reqText="请输入分类名称" value="{{d.params.data.model.name || '' }}" />
</div>
<div class="layui-form-mid layui-word-aux">请输入不超过20个字符内容</div>
</div>
<div class="layui-form-item">
<label for="typeId" class="layui-form-label">类型</label>
<div class="layui-input-inline">
<select name="typeId" id="typeId" lay-verType="tips" lay-verify="required|number">
<option value="0">通用类型</option>
{{# layui.each(d.params.data.types, function(index, item){ }}
<option value="{{ item.id }}" {{d.params.data.model.typeId ===item.id ? 'selected="selected"' :''}}>{{ item.name }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="sort" class="layui-form-label">分类排序</label>
<div class="layui-input-inline">
<input type="number" min="0" max="999999" name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.model.sort || '' }}" placeholder="请输入分类排序" lay-reqText="请输入分类排序并为数字" />
</div>
<div class="layui-form-mid layui-word-aux">请输入数字</div>
</div>
<div class="layui-form-item">
<label for="imageUrl" class="layui-form-label">分类图片</label>
<div class="layui-input-inline">
<input name="imageUrl" id="imageUrl" class="layui-input" value="{{d.params.data.model.imageUrl || '' }}" placeholder="请上传分类图片" lay-reqText="请上传分类图片" />
</div>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" class="layui-btn" id="upBtnimageUrl">上传图片</button>
<div class="layui-upload-list">
<img class="layui-upload-img" id="viewImgBoximageUrl" src="{{d.params.data.model.imageUrl || layui.setter.noImagePicUrl }}">
<p id="viewTextBoximageUrl"></p>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<label for="isShow" class="layui-form-label">是否显示</label>
<div class="layui-input-block">
<input type="checkbox" lay-filter="switch" name="isShow" id="isShow" {{ d.params.data.model.isShow ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
</div>
</div>
<div class="layui-form-item text-right core-hidden">
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsGoodsCategory-editForm-submit" id="LAY-app-CoreCmsGoodsCategory-editForm-submit" value="确认编辑">
</div>
</div>
</script>
<script>
var debug = layui.setter.debug;
layui.data.sendParams = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'laydate', 'upload', 'coreHelper', 'xmSelect','cropperImg'],
function () {
var $ = layui.$
, form = layui.form
, admin = layui.admin
, laydate = layui.laydate
, upload = layui.upload
, xmSelect = layui.xmSelect
, cropperImg = layui.cropperImg
, coreHelper = layui.coreHelper;
//分类图片ID图片上传
$('#upBtnimageUrl').click(function () {
cropperImg.cropImg({
aspectRatio: 1 / 1,
imgSrc: $('#viewImgBoximageUrl').attr('src'),
onCrop: function (data) {
var loadIndex = layer.load(2);
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
$('#viewImgBoximageUrl').attr('src', res.data.fileUrl);
$("#imageUrl").val(res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
layer.close(loadIndex);
layer.msg(res.msg, { icon: 2, anim: 6 });
}
});
}
});
});
form.verify({
verifyname: [/^[\S]{0,20}$/, '分类名称最大只允许输入20位字符且不能出现空格'],
verifyimageUrl: [/^[\S]{0,255}$/, '分类图片ID最大只允许输入255位字符且不能出现空格'],
});
// 渲染商品分类
var insXmSelGoodsCategoryId = xmSelect.render({
el: '#selectTree',
height: '250px',
data: d.params.data.categories.data,
initValue: d.params.data.model ? [d.params.data.model.parentId] : [],
model: { label: { type: 'text' } },
name: 'parentId',
prop: {
name: 'title',
value: 'id'
},
layVerify: 'required',
layVerType: 'msg',
radio: true,
clickClose: true,
tree: {
show: true,
indent: 15,
strict: false,
expandedKeys: true
}
});
//重载form
form.render(null, 'LAY-app-CoreCmsGoodsCategory-editForm');
})
};
</script>

View File

@@ -0,0 +1,222 @@
<title>商品分类</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
<div class="layui-breadcrumb" lay-filter="breadcrumb">
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
</script>
</div>
</div>
<!--当前位置结束-->
<style>
/* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsGoodsCategory/GetIndex" lay-done="layui.data.done(d);">
<div class="layui-form coreshop-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-admin" data-type="addData"><i class="layui-icon layui-icon-add-1"></i></button>
</div>
</div>
</div>
</script>
<div class="table-body">
<table id="LAY-app-CoreCmsGoodsCategory-tableBox" lay-filter="LAY-app-CoreCmsGoodsCategory-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-CoreCmsGoodsCategory-tableBox-bar">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script>
var indexData;
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d); }
indexData = d.data;
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper', 'treeTable'],
function () {
var $ = layui.$
, admin = layui.admin
, table = layui.table
, form = layui.form
, laydate = layui.laydate
, setter = layui.setter
, coreHelper = layui.coreHelper
, util = layui.util
, treeTable = layui.treeTable
, view = layui.view;
//重载form
form.render();
// 渲染表格
var insTb = treeTable.render({
elem: '#LAY-app-CoreCmsGoodsCategory-tableBox',
tree: {
iconIndex: 1,
idName: 'id', // id的字段名
pidName: 'parentId', // pid的字段名
openName: 'name',
isPidData: true
},
height: 'full-230',//无面包屑127,搜索框189,1行62
cols: [
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'name', title: '名称', sort: false },
{ field: 'sort', title: '排序', sort: false, width: 105 },
{
field: 'imageUrl', title: '图片', width: 80, sort: false,
templet: function (d) {
if (d.imageUrl) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.imageUrl + '")><image style="max-width:28px;max-height:28px;" src="' + d.imageUrl + '" /></a>';
} else {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
}
}
},
{ field: 'isShow', title: '是否显示', width: 105, templet: '#switch_isShow', sort: false, unresize: true },
{ width: 122, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsGoodsCategory-tableBox-bar' }
],
reqData: function (data, callback) {
coreHelper.Post('Api/CoreCmsGoodsCategory/GetPageList', null, function (res) {
if (res.code === 0) {
callback(res.data);
} else {
layer.msg(res.msg, { icon: 5, time: 2000 });
}
})
},
style: 'margin-top:0;'
});
//监听工具条
treeTable.on('tool(LAY-app-CoreCmsGoodsCategory-tableBox)',
function (obj) {
if (obj.event === 'detail') {
doDetails(obj);
} else if (obj.event === 'del') {
doDelete(obj);
} else if (obj.event === 'edit') {
doEdit(obj)
}
});
$('.layui-btn.layuiadmin-btn-admin').on('click', function () {
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
var active = {
addData: function () {
coreHelper.Post("Api/CoreCmsGoodsCategory/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({ shadeClose: false,
title: '创建数据',
area: ['600px', '540px'],
id: 'LAY-popup-CoreCmsGoodsCategory-create',
success: function (layero, index) {
view(this.id).render('good/goodscategory/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsGoodsCategory-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isShow = field.isShow == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsGoodsCategory/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
insTb.refresh(); //刷新表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsGoodsCategory-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
};
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/CoreCmsGoodsCategory/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({ shadeClose: false,
title: '编辑数据',
area: ['600px', '540px'],
id: 'LAY-popup-CoreCmsGoodsCategory-edit',
success: function (layero, index) {
view(this.id).render('good/goodscategory/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-CoreCmsGoodsCategory-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
field.isShow = field.isShow == 'on';
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/CoreCmsGoodsCategory/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
insTb.refresh(); //刷新表格
layer.close(index); //再执行关闭
layer.msg(e.msg);
} else {
layer.msg(e.msg);
}
});
});
})
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-CoreCmsGoodsCategory-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行单个删除
function doDelete(obj) {
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
coreHelper.Post("Api/CoreCmsGoodsCategory/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
insTb.refresh(); //刷新表格
layer.msg(e.msg);
});
});
}
//监听 表格复选框操作
layui.form.on('switch(switch_isShow)', function (obj) {
coreHelper.Post("Api/CoreCmsGoodsCategory/DoSetisShow", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsGoodsCategory-tableBox');
layer.msg(e.msg);
});
});
});
};
</script>
<!--设置是否显示-->
<script type="text/html" id="switch_isShow">
<input type="checkbox" name="switch_isShow" value="{{d.id}}" lay-skin="switch" lay-text="显示|关闭" lay-filter="switch_isShow" {{ d.isShow ? 'checked' : '' }}>
</script>

View File

@@ -0,0 +1,128 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsGoodsComment-detailsForm" id="LAY-app-CoreCmsGoodsComment-detailsForm">
<colgroup>
<col width="100">
<col>
</colgroup>
<tbody>
<tr>
<td>
<label for="id">序列</label>
</td>
<td>
{{ d.params.data.id || '' }}
</td>
</tr>
<tr>
<td>
<label for="commentId">评价用户</label>
</td>
<td>
<a href="javascript:void(0);" onclick="layui.coreHelper.viewImage('{{ d.params.data.avatarImage || setter.noImagePicUrl }}')"><image style="max-width:60px;max-height:60px;border-radius: 30px;" src="{{d.params.data.avatarImage || setter.noImagePicUrl }}" /></a> {{ d.params.data.nickName || '' }} {{ d.params.data.mobile || '' }}
</td>
</tr>
<tr>
<td>
<label for="score">评价星级</label>
</td>
<td>
{{ d.params.data.score || '' }}
</td>
</tr>
<tr>
<td>
<label for="goodsId">商品名称</label>
</td>
<td>
{{ d.params.data.goodName || '' }}
</td>
</tr>
<tr>
<td>
<label for="orderId">评价订单</label>
</td>
<td>
{{ d.params.data.orderId || '' }}
</td>
</tr>
<tr>
<td>
<label for="addon">货品规格</label>
</td>
<td>
{{ d.params.data.addon || '' }}
</td>
</tr>
<tr>
<td>
<label for="images">评价图片</label>
</td>
<td>
{{# layui.each(d.params.data.imagesArr, function(index, item){ }}
<a href="javascript:void(0);" onclick="layui.coreHelper.viewImage('{{ item || '' }}')"><image style="max-width:128px;max-height:128px;" src="{{item || '' }}" /></a>&nbsp;
{{# }); }}
</td>
</tr>
<tr>
<td>
<label for="contentBody">评价内容</label>
</td>
<td>
{{ d.params.data.contentBody || '' }}
</td>
</tr>
<tr>
<td>
<label for="sellerContent">商家回复</label>
</td>
<td>
{{ d.params.data.sellerContent || '' }}
</td>
</tr>
<tr>
<td>
<label for="isDisplay">前台显示</label>
</td>
<td>
<input type="checkbox" disabled name="isDisplay" value="{{d.params.data.isDisplay}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isDisplay" {{ d.params.data.isDisplay ? 'checked' : '' }}>
</td>
</tr>
<tr>
<td>
<label for="createTime">创建时间</label>
</td>
<td>
{{ d.params.data.createTime || '' }}
</td>
</tr>
</tbody>
</table>
</script>
<script>
var debug = layui.setter.debug;
layui.data.done = function (d) {
//开启调试情况下获取接口赋值数据
if (debug) { console.log(d.params.data); }
layui.use(['admin', 'form', 'coreHelper'], function () {
var $ = layui.$
, setter = layui.setter
, admin = layui.admin
, coreHelper = layui.coreHelper
, form = layui.form;
form.render(null, 'LAY-app-CoreCmsGoodsComment-detailsForm');
});
};
</script>

Some files were not shown because too many files have changed in this diff Show More