【新增】优化广告组件,表【CoreCmsAdvertPosition】新增【platform】广告平台字段,【type】广告位类型两个字段,用于区分pc,h5,小程序多端,以及图片还是轮播图展示形式。

This commit is contained in:
JianWeie
2023-01-10 16:04:48 +08:00
parent 3d8a3436a3
commit 8632c6fb26
21 changed files with 379 additions and 80 deletions

View File

@@ -166,6 +166,20 @@ namespace CoreCms.Net.Web.Admin.Controllers
//排序 int
var sort = Request.Form["sort"].FirstOrDefault().ObjectToInt(0);
if (sort > 0) @where = @where.And(p => p.sort == sort);
//广告平台 int
var platform = Request.Form["platform"].FirstOrDefault().ObjectToInt(0);
if (platform > 0)
{
where = where.And(p => p.platform == platform);
}
//广告位类型 int
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
if (type > 0)
{
where = where.And(p => p.type == type);
}
//获取数据
var list = await _coreCmsAdvertPositionServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent,
pageSize);
@@ -192,6 +206,15 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var advertPlatform = EnumHelper.EnumToList<GlobalEnumVars.AdvertPlatform>();
var advertPositionType = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
jm.data = new
{
advertPlatform,
advertPositionType
};
return jm;
}
@@ -210,6 +233,15 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var advertPlatform = EnumHelper.EnumToList<GlobalEnumVars.AdvertPlatform>();
var advertPositionType = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
jm.data = new
{
advertPlatform,
advertPositionType
};
return jm;
}
@@ -269,7 +301,16 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
jm.code = 0;
jm.data = model;
var advertPlatform = EnumHelper.EnumToList<GlobalEnumVars.AdvertPlatform>();
var advertPositionType = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
jm.data = new
{
advertPlatform,
advertPositionType,
model
};
return jm;
}
@@ -311,6 +352,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
oldModel.updateTime = DateTime.Now;
oldModel.isEnable = entity.isEnable;
oldModel.sort = entity.sort;
oldModel.platform = entity.platform;
oldModel.type = entity.type;
//事物处理过程结束
var bl = await _coreCmsAdvertPositionServices.UpdateAsync(oldModel);

View File

@@ -225,7 +225,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertisementType>();
jm.data = new
{
types
@@ -250,7 +250,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
var jm = new AdminUiCallBack { code = 0 };
var advertPosition = await _coreCmsAdvertPositionServices.QueryAsync();
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertisementType>();
jm.data = new
{
advertPosition,
@@ -311,7 +311,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
jm.code = 0;
var advertPosition = await _coreCmsAdvertPositionServices.QueryAsync();
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertPositionType>();
var types = EnumHelper.EnumToList<GlobalEnumVars.AdvertisementType>();
jm.data = new
{

View File

@@ -326,8 +326,6 @@ namespace CoreCms.Net.Admin.Admin.Controllers
};
jm.code = 0;
return jm;
return jm;
}
#endregion

View File

@@ -622,6 +622,45 @@
<None Include="wwwroot\static\js\common.js" />
</ItemGroup>
<ItemGroup>
<Content Update="wwwroot\views\content\advert\advertisement\create.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertisement\edit.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertisement\getArticle.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertisement\getArticleType.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertisement\getGoods.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertisement\index.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertposition\create.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertposition\edit.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
<Content Update="wwwroot\views\content\advert\advertposition\index.html">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Update="Dockerfile">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

View File

@@ -96,6 +96,7 @@
cols: [
[
{ field: 'id', title: '序列', width: 60, sort: false },
{ field: 'positionId', title: '广告位序列', sort: false },
{ field: 'name', title: '广告名称', sort: false },
{
field: 'imageUrl', title: '广告图片', width: 100, sort: false,

View File

@@ -1,6 +1,30 @@
<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="platform" class="layui-form-label layui-form-required">广告来源</label>
<div class="layui-input-block">
<select name="platform" required lay-verify="required" lay-reqText="请选择广告来源">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertPlatform, function(index, item){ }}
<option value="{{ item.value }}">{{ item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="platform" class="layui-form-label layui-form-required">广告位类型</label>
<div class="layui-input-block">
<select name="type" required lay-verify="required" lay-reqText="请选择广告位类型">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertPositionType, function(index, item){ }}
<option value="{{ item.value }}">{{- item.description }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="name" class="layui-form-label">名称</label>
<div class="layui-input-inline">
@@ -28,7 +52,7 @@
<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 class="layui-form-mid layui-word-aux">从大到小排序</div>
</div>
<div class="layui-form-item core-hidden">

View File

@@ -1,11 +1,37 @@
<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.id || '' }}" />
<input type="hidden" name="id" id="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="platform" class="layui-form-label layui-form-required">广告来源</label>
<div class="layui-input-block">
<select name="platform" required lay-verify="required" lay-reqText="请选择广告来源">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertPlatform, function(index, item){ }}
<option value="{{ item.value }}" {{item.value===d.params.data.model.platform?'selected="selected"':''}}>{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="platform" class="layui-form-label layui-form-required">广告位类型</label>
<div class="layui-input-block">
<select name="type" required lay-verify="required" lay-reqText="请选择广告位类型">
<option value="">请选择</option>
{{# layui.each(d.params.data.advertPositionType, function(index, item){ }}
<option value="{{ item.value }}" {{item.value===d.params.data.model.type?'selected="selected"':''}}>{{- item.description }}</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.name || '' }}" />
<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>
@@ -13,7 +39,7 @@
<div class="layui-form-item">
<label for="code" class="layui-form-label">位置编码</label>
<div class="layui-input-inline">
<input name="code" id="code" lay-verify="required|verifycode" class="layui-input" lay-reqText="请输入位置编码" placeholder="请输入位置编码" value="{{d.params.data.code || '' }}"/>
<input name="code" id="code" lay-verify="required|verifycode" class="layui-input" lay-reqText="请输入位置编码" placeholder="请输入位置编码" value="{{d.params.data.model.code || '' }}" />
</div>
<div class="layui-form-mid layui-word-aux">请输入英文</div>
</div>
@@ -21,16 +47,16 @@
<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="开启|关闭">
<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.sort}}" placeholder="请输入排序" lay-reqText="请输入排序并为数字" />
<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 class="layui-form-mid layui-word-aux">从大到小排序</div>
</div>
<div class="layui-form-item core-hidden">

View File

@@ -35,6 +35,26 @@
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="platform">
<option value="">广告平台</option>
{{# layui.each(indexData.advertPlatform, 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">
<option value="">广告类型</option>
{{# layui.each(indexData.advertPositionType, 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="updateTime" id="searchTime-CoreCmsAdvertPosition-updateTime" placeholder="请输入更新时间" class="layui-input">
@@ -104,6 +124,28 @@
[
//{ type: "checkbox", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
{
field: 'platform', title: '广告来源', sort: false,
templet: function (data) {
for (var i = 0; i < d.data.advertPlatform.length; i++) {
if (data.platform == d.data.advertPlatform[i].value) {
return d.data.advertPlatform[i].description;
}
}
return "";
}
},
{
field: 'type', title: '广告位类型', sort: false,
templet: function (data) {
for (var i = 0; i < d.data.advertPositionType.length; i++) {
if (data.type == d.data.advertPositionType[i].value) {
return d.data.advertPositionType[i].description;
}
}
return "";
}
},
{ field: 'name', title: '名称', sort: false },
{ field: 'code', title: '位置编码', sort: false },
{ field: 'createTime', title: '添加时间', width: 130, sort: false },
@@ -149,7 +191,7 @@
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['600px', '330px'],
area: ['600px', '400px'],
id: 'LAY-popup-CoreCmsAdvertPosition-create',
success: function (layero, index) {
view(this.id).render('content/advert/advertposition/create', { data: e.data }).done(function () {
@@ -194,7 +236,7 @@
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['600px', '330px'],
area: ['600px', '400px'],
id: 'LAY-popup-CoreCmsAdvertPosition-edit',
success: function (layero, index) {
view(this.id).render('content/advert/advertposition/edit', { data: e.data }).done(function () {