mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2026-02-05 23:09:49 +08:00
添加项目文件。
This commit is contained in:
155
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGoods/create.html
Normal file
155
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGoods/create.html
Normal 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>
|
||||
@@ -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>
|
||||
185
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGoods/edit.html
Normal file
185
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGoods/edit.html
Normal 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>
|
||||
412
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGoods/index.html
Normal file
412
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGoods/index.html
Normal 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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
271
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGrade/index.html
Normal file
271
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentGrade/index.html
Normal 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>
|
||||
|
||||
@@ -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>
|
||||
275
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentOrder/index.html
Normal file
275
CoreCms.Net.Web.Admin/wwwroot/views/agent/agentOrder/index.html
Normal 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>
|
||||
|
||||
152
CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/details.html
Normal file
152
CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/details.html
Normal 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>
|
||||
96
CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/edit.html
Normal file
96
CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/edit.html
Normal 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>
|
||||
309
CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/index.html
Normal file
309
CoreCms.Net.Web.Admin/wwwroot/views/agent/agents/index.html
Normal 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>
|
||||
305
CoreCms.Net.Web.Admin/wwwroot/views/agent/setting/index.html
Normal file
305
CoreCms.Net.Web.Admin/wwwroot/views/agent/setting/index.html
Normal 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"> </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"> </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"> </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>
|
||||
@@ -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>
|
||||
79
CoreCms.Net.Web.Admin/wwwroot/views/common/getArticles.html
Normal file
79
CoreCms.Net.Web.Admin/wwwroot/views/common/getArticles.html
Normal 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>
|
||||
82
CoreCms.Net.Web.Admin/wwwroot/views/common/getForms.html
Normal file
82
CoreCms.Net.Web.Admin/wwwroot/views/common/getForms.html
Normal 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>
|
||||
122
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodAndSku.html
Normal file
122
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodAndSku.html
Normal 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>
|
||||
123
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodId.html
Normal file
123
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodId.html
Normal 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>
|
||||
146
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodIds.html
Normal file
146
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodIds.html
Normal 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>
|
||||
86
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodList.html
Normal file
86
CoreCms.Net.Web.Admin/wwwroot/views/common/getGoodList.html
Normal 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>
|
||||
132
CoreCms.Net.Web.Admin/wwwroot/views/common/getGroupIds.html
Normal file
132
CoreCms.Net.Web.Admin/wwwroot/views/common/getGroupIds.html
Normal 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>
|
||||
126
CoreCms.Net.Web.Admin/wwwroot/views/common/getNoticeIds.html
Normal file
126
CoreCms.Net.Web.Admin/wwwroot/views/common/getNoticeIds.html
Normal 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>
|
||||
153
CoreCms.Net.Web.Admin/wwwroot/views/common/getPingTuanIds.html
Normal file
153
CoreCms.Net.Web.Admin/wwwroot/views/common/getPingTuanIds.html
Normal 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>
|
||||
146
CoreCms.Net.Web.Admin/wwwroot/views/common/getProductsIds.html
Normal file
146
CoreCms.Net.Web.Admin/wwwroot/views/common/getProductsIds.html
Normal 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>
|
||||
153
CoreCms.Net.Web.Admin/wwwroot/views/common/getQQMap.html
Normal file
153
CoreCms.Net.Web.Admin/wwwroot/views/common/getQQMap.html
Normal 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>
|
||||
141
CoreCms.Net.Web.Admin/wwwroot/views/common/getServiceIds.html
Normal file
141
CoreCms.Net.Web.Admin/wwwroot/views/common/getServiceIds.html
Normal 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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
130
CoreCms.Net.Web.Admin/wwwroot/views/content/notice/create.html
Normal file
130
CoreCms.Net.Web.Admin/wwwroot/views/content/notice/create.html
Normal 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>
|
||||
129
CoreCms.Net.Web.Admin/wwwroot/views/content/notice/edit.html
Normal file
129
CoreCms.Net.Web.Admin/wwwroot/views/content/notice/edit.html
Normal 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>
|
||||
252
CoreCms.Net.Web.Admin/wwwroot/views/content/notice/index.html
Normal file
252
CoreCms.Net.Web.Admin/wwwroot/views/content/notice/index.html
Normal 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>
|
||||
148
CoreCms.Net.Web.Admin/wwwroot/views/content/reports/goods.html
Normal file
148
CoreCms.Net.Web.Admin/wwwroot/views/content/reports/goods.html
Normal 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>
|
||||
@@ -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>
|
||||
153
CoreCms.Net.Web.Admin/wwwroot/views/content/reports/order.html
Normal file
153
CoreCms.Net.Web.Admin/wwwroot/views/content/reports/order.html
Normal 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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"></i>
|
||||
</button>
|
||||
<!--<button type="button" class="layui-btn layui-btn-primary layui-btn-sm del">
|
||||
<i class="layui-icon"></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"></i>
|
||||
</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm del">
|
||||
<i class="layui-icon"></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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
530
CoreCms.Net.Web.Admin/wwwroot/views/distribution/grade/edit.html
Normal file
530
CoreCms.Net.Web.Admin/wwwroot/views/distribution/grade/edit.html
Normal 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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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"> </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"> </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"> </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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
100
CoreCms.Net.Web.Admin/wwwroot/views/financial/invoice/edit.html
Normal file
100
CoreCms.Net.Web.Admin/wwwroot/views/financial/invoice/edit.html
Normal 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>
|
||||
351
CoreCms.Net.Web.Admin/wwwroot/views/financial/invoice/index.html
Normal file
351
CoreCms.Net.Web.Admin/wwwroot/views/financial/invoice/index.html
Normal 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>
|
||||
168
CoreCms.Net.Web.Admin/wwwroot/views/financial/payments/edit.html
Normal file
168
CoreCms.Net.Web.Admin/wwwroot/views/financial/payments/edit.html
Normal 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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
1409
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html
Normal file
1409
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/create.html
Normal file
File diff suppressed because it is too large
Load Diff
99
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/delLabel.html
Normal file
99
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/delLabel.html
Normal 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>
|
||||
1610
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html
Normal file
1610
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/edit.html
Normal file
File diff suppressed because it is too large
Load Diff
149
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/getLabel.html
Normal file
149
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/getLabel.html
Normal 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>
|
||||
672
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/index.html
Normal file
672
CoreCms.Net.Web.Admin/wwwroot/views/good/goods/index.html
Normal 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"></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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
264
CoreCms.Net.Web.Admin/wwwroot/views/good/goodsbrand/index.html
Normal file
264
CoreCms.Net.Web.Admin/wwwroot/views/good/goodsbrand/index.html
Normal 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>
|
||||
@@ -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>
|
||||
141
CoreCms.Net.Web.Admin/wwwroot/views/good/goodscategory/edit.html
Normal file
141
CoreCms.Net.Web.Admin/wwwroot/views/good/goodscategory/edit.html
Normal 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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
{{# }); }}
|
||||
</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
Reference in New Issue
Block a user