# 2022-03-29第2次更新

### 1.4.2开源社区版:
【新增】代码生成器Controller模板的导出excel请求增加decimal类型的处理。#I4WCX1
### 0.3.3 专业版:
【新增】后台新增支付单查询功能,实现支付单微信反馈支付数据,防止出现极端情况下,导致的支付数据回调失败而影响订单业务。#I4ZRMR
【新增】增加邀请用户注册赠送积分功能,用户主动设置自己的上级将给上级赠送积分的功能。#I4Y1WY
【新增】后台新增发票上传功能,前端小程序新增发票下载功能。【发票表增加一个字段】#I4ZYT3
【新增】商家中心订单查询,增加发票下载查看功能。
【新增】代码生成器Controller模板的导出excel请求增加decimal类型的处理。#I4WCX1
【新增】后台商品管理sku增加原图上传功能,与裁剪上传配合,用户可根据需求选择上传模式。
【优化】调整前端帮助文档默认传值问题,未指定具体分类情况下,默认取第一个栏目数据。
【修复】修复页面设计上传图片后不进行预览的问题。
【修复】修复页面设计【服务商品】前端样式错乱的问题。
This commit is contained in:
JianWeie
2022-03-29 21:55:58 +08:00
parent c341aeb8c8
commit d10b0e59f6
10 changed files with 202 additions and 28 deletions

View File

@@ -1162,12 +1162,14 @@
支付单表
</summary>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsBillPaymentsController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ICoreCmsBillPaymentsServices)">
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsBillPaymentsController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ICoreCmsBillPaymentsServices,Essensoft.Paylink.WeChatPay.V2.IWeChatPayClient,Microsoft.Extensions.Options.IOptions{Essensoft.Paylink.WeChatPay.WeChatPayOptions})">
<summary>
构造函数
</summary>
<param name="webHostEnvironment"></param>
<param name="coreCmsBillPaymentsServices"></param>
<param name="client"></param>
<param name="optionsAccessor"></param>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsBillPaymentsController.GetPageList">
<summary>
@@ -1201,6 +1203,13 @@
</summary>
<returns></returns>
</member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsBillPaymentsController.DoRefresh(CoreCms.Net.Model.FromBody.FMStringId)">
<summary>
更新微信支付数据
</summary>
<param name="entity"></param>
<returns></returns>
</member>
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsBillRefundController">
<summary>
退款单表

View File

@@ -11,7 +11,7 @@
</div>
<div class="layui-input-inline">
<img class="coreshop-upload-img" id="viewImgBoximageUrl" src="{{ layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtn" lay-active="doCropperImg">上传图片</button>
<button type="button" class="layui-btn" id="getUpLoadBtn">上传图片</button>
<div id="viewTextBox"></div>
</div>
</div>
@@ -47,7 +47,7 @@
//普通图片上传
var uploadInst = upload.render({
elem: '#upBtn'
elem: '#getUpLoadBtn'
, url: layui.setter.apiUrl + 'Api/Tools/UploadFiles'
, before: function (obj) {
obj.preview(function (index, file, result) {

View File

@@ -327,7 +327,7 @@
<input type="checkbox" id="product[{{item.spesDesc}}][isDefalut]" name="product[isDefalut][]" title="是否默认" {{item.isDefalut? 'checked="true"':''}} value="{{item.isDefalut? '1':'0'}}" class="isdefalut" lay-filter="isdefalut">
</td>
<td class="spec-td">
<div class="spec_image">
<div class="spec_image" style="display: inline-block;width: 60px;overflow: hidden;">
<div class="spec_image_item">
<!--<div class="del-img">
x
@@ -336,7 +336,14 @@
</div>
<input type="hidden" id="productImagesInput" name="product[images][]" value="{{item.images}}">
</div>
<a class="layui-btn layui-btn-xs upSpecImage" href="javascript:;">上传图片</a>
<div style="display: inline-block;width: 60px;overflow: hidden;">
<p>
<a class="layui-btn layui-btn-xs upSpecImage" style="margin-bottom: 10px;" href="javascript:;">裁剪上传</a>
</p>
<p>
<a class="layui-btn layui-btn-xs upSpecImageOriginal" href="javascript:;">原图上传</a>
</p>
</div>
</td>
<td>
<input type="text" name="product[sn][]" value="{{item.sn}}" placeholder="货号" class="layui-input layui-inline-3">
@@ -824,8 +831,9 @@
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
var item = $(_that);
item.prev().find('#productImagesInput').val(res.data.fileUrl);
item.prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
item.parent().parent().prev().find('#productImagesInput').val(res.data.fileUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
} else {
@@ -837,6 +845,33 @@
});
form.render();
});
//SKU原图上传
$('.upSpecImageOriginal').click(function () {
var _that = this;
admin.popup({
title: '原图上传',
area: ['800px', '300px'],
id: 'LAY-app-CoreCmsCommon-GetNoticeIds',
success: function (layero, indexChild) {
layui.view(this.id).render('common/getUpLoad', null).done(function () {
layui.form.on('submit(LAY-app-getUpLoad-submit)',
function (data) {
console.log(data);
var item = $(_that);
item.parent().parent().prev().find('#productImagesInput').val(data.field.imagesUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", data.field.imagesUrl);
layer.close(indexChild);
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-getUpLoad-submit").click();
}
});
form.render();
});
//表单验证规则
form.verify({
@@ -1265,8 +1300,8 @@
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
var item = $(_that);
item.prev().find('#productImagesInput').val(res.data.fileUrl);
item.prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
item.parent().parent().prev().find('#productImagesInput').val(res.data.fileUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
@@ -1278,6 +1313,32 @@
}
});
});
//SKU原图上传
$('.upSpecImageOriginal').click(function () {
var _that = this;
admin.popup({
title: '原图上传',
area: ['800px', '300px'],
id: 'LAY-app-CoreCmsCommon-GetNoticeIds',
success: function (layero, indexChild) {
layui.view(this.id).render('common/getUpLoad', null).done(function () {
layui.form.on('submit(LAY-app-getUpLoad-submit)',
function (data) {
console.log(data);
var item = $(_that);
item.parent().parent().prev().find('#productImagesInput').val(data.field.imagesUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", data.field.imagesUrl);
layer.close(indexChild);
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-getUpLoad-submit").click();
}
});
});
form.render();
layer.msg("Sku列表获取成功");
} else {

View File

@@ -320,7 +320,7 @@
<input type="checkbox" id="product[{{item.spesDesc}}][isDefalut]" name="product[isDefalut][]" title="是否默认" {{item.isDefalut? 'checked="true"':''}} value="{{item.isDefalut? '1':'0'}}" class="isdefalut" lay-filter="isdefalut">
</td>
<td class="spec-td">
<div class="spec_image">
<div class="spec_image" style="display: inline-block;width: 60px;overflow: hidden;">
<div class="spec_image_item">
<!--<div class="del-img">
x
@@ -329,7 +329,14 @@
</div>
<input type="hidden" id="productImagesInput" name="product[images][]" value="{{item.images}}">
</div>
<a class="layui-btn layui-btn-xs upSpecImage" href="javascript:;">上传图片</a>
<div style="display: inline-block;width: 60px;overflow: hidden;">
<p>
<a class="layui-btn layui-btn-xs upSpecImage" style="margin-bottom: 10px;" href="javascript:;">裁剪上传</a>
</p>
<p>
<a class="layui-btn layui-btn-xs upSpecImageOriginal" href="javascript:;">原图上传</a>
</p>
</div>
</td>
<td>
<input type="text" name="product[sn][]" value="{{item.sn}}" placeholder="货号" class="layui-input layui-inline-3">
@@ -889,8 +896,6 @@
}
});
//SKU缩略图上传
$('.upSpecImage').click(function () {
var _that = this;
@@ -902,8 +907,8 @@
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
var item = $(_that);
item.prev().find('#productImagesInput').val(res.data.fileUrl);
item.prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
item.parent().parent().prev().find('#productImagesInput').val(res.data.fileUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
@@ -916,6 +921,32 @@
});
form.render();
});
//SKU原图上传
$('.upSpecImageOriginal').click(function () {
var _that = this;
admin.popup({
title: '原图上传',
area: ['800px', '300px'],
id: 'LAY-app-CoreCmsCommon-GetNoticeIds',
success: function (layero, indexChild) {
layui.view(this.id).render('common/getUpLoad', null).done(function () {
layui.form.on('submit(LAY-app-getUpLoad-submit)',
function (data) {
console.log(data);
var item = $(_that);
item.parent().parent().prev().find('#productImagesInput').val(data.field.imagesUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", data.field.imagesUrl);
layer.close(indexChild);
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-getUpLoad-submit").click();
}
});
form.render();
});
//表单验证规则
form.verify({
@@ -1368,8 +1399,8 @@
coreHelper.Post("api/Tools/UploadFilesFByBase64", { base64: data }, function (res) {
if (0 === res.code) {
var item = $(_that);
item.prev().find('#productImagesInput').val(res.data.fileUrl);
item.prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
item.parent().parent().prev().find('#productImagesInput').val(res.data.fileUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", res.data.fileUrl);
layer.msg(res.msg);
layer.close(loadIndex);
@@ -1381,6 +1412,33 @@
}
});
});
//SKU原图上传
$('.upSpecImageOriginal').click(function () {
var _that = this;
admin.popup({
title: '原图上传',
area: ['800px', '300px'],
id: 'LAY-app-CoreCmsCommon-GetNoticeIds',
success: function (layero, indexChild) {
layui.view(this.id).render('common/getUpLoad', null).done(function () {
layui.form.on('submit(LAY-app-getUpLoad-submit)',
function (data) {
console.log(data);
var item = $(_that);
item.parent().parent().prev().find('#productImagesInput').val(data.field.imagesUrl);
item.parent().parent().prev().find('#productImagesSrc').attr("src", data.field.imagesUrl);
layer.close(indexChild);
});
});
}
, btn: ['确定', '取消']
, yes: function (index, layero) {
layero.contents().find("#LAY-app-getUpLoad-submit").click();
}
});
});
layer.msg("Sku列表获取成功");
} else {
layer.msg(e.msg, { icon: 5, anim: 6 });

View File

@@ -626,6 +626,16 @@
</div>
</div>
<blockquote class="layui-elem-quote">
邀请一个好友注册成功赠送多少积分
</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">{{d.data.configs['inviterUserIntegral']['sKey']}}</label>
<div class="layui-input-inline layui-inline-2">
<input type="text" name="inviterUserIntegral" value="{{d.data.configs['inviterUserIntegral']['sValue']}}" lay-verify="title|money" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">&nbsp;</label>
<div class="layui-input-block">