mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:23:26 +08:00
【优化】取消sku货品货号必须包含【SN】的限制。
【调整】调整Sku切割方式,将小写逗号【.】,替换为【&&】;同时更新表【CoreCmsGoods】内数据,请大家执行sql脚本更新存储的sku数据。
This commit is contained in:
@@ -74,12 +74,13 @@ namespace CoreCms.Net.Repository
|
||||
//检查数据
|
||||
foreach (var item in entity.products)
|
||||
{
|
||||
if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
|
||||
{
|
||||
jm.msg = "请键入货品货号!货号为SN英文开头";
|
||||
return jm;
|
||||
}
|
||||
else if (item.stock < 0)
|
||||
//if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
|
||||
//{
|
||||
// jm.msg = "请键入货品货号!货号为SN英文开头";
|
||||
// return jm;
|
||||
//}
|
||||
//else
|
||||
if (item.stock < 0)
|
||||
{
|
||||
jm.msg = "库存不能为0!";
|
||||
return jm;
|
||||
@@ -327,12 +328,13 @@ namespace CoreCms.Net.Repository
|
||||
//检查数据
|
||||
foreach (var item in entity.products)
|
||||
{
|
||||
if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
|
||||
{
|
||||
jm.msg = "请键入货品货号!货号为SN英文开头";
|
||||
return jm;
|
||||
}
|
||||
else if (item.stock < 0)
|
||||
//if (!item.sn.Contains("sn") && !item.sn.Contains("SN"))
|
||||
//{
|
||||
// jm.msg = "请键入货品货号!货号为SN英文开头";
|
||||
// return jm;
|
||||
//}
|
||||
//else
|
||||
if (item.stock < 0)
|
||||
{
|
||||
jm.msg = "库存不能为0!";
|
||||
return jm;
|
||||
|
||||
@@ -793,7 +793,7 @@ namespace CoreCms.Net.Services
|
||||
foreach (var item in good.spesDesc.Split("|"))
|
||||
{
|
||||
//1911&&电线型号:2.5mm²
|
||||
var temp = item.Split(".")[1].Split(":");
|
||||
var temp = item.Split("&&")[1].Split(":");
|
||||
var name = temp[0];
|
||||
var value = temp[1];
|
||||
if (!defaultSpec.ContainsKey(name))
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace CoreCms.Net.Services
|
||||
foreach (var item in spesDescArr)
|
||||
{
|
||||
//小类拆分
|
||||
var itemArr = item.Split(".");
|
||||
var itemArr = item.Split("&&");
|
||||
//键值对处理
|
||||
var keyValue = itemArr[1].Split(":");
|
||||
var defaultSpesDesc = new DefaultSpesDesc();
|
||||
|
||||
@@ -162,7 +162,7 @@ namespace CoreCms.Net.Utility.Helper
|
||||
/// <returns></returns>
|
||||
public static bool FilterChar(string inputValue)
|
||||
{
|
||||
return Regex.IsMatch(inputValue, "[`.~!@#$^&*()=|\"{}':;',\\[\\]<>?~!@#¥……&*&;|{}。*-+]+");
|
||||
return Regex.IsMatch(inputValue, "[`~!@#$^&*()=|\"{}':;',\\[\\]<>?~!@#¥……&*&;|{}。*-+]+");
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -872,7 +872,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
return jm;
|
||||
}
|
||||
|
||||
var newSpecs = list.Where(p => p.name.Contains("newSpec.")).ToList();
|
||||
var newSpecs = list.Where(p => p.name.Contains("newSpec&&")).ToList();
|
||||
foreach (var t in newSpecs)
|
||||
{
|
||||
t.value = t.value.Trim();
|
||||
@@ -897,7 +897,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
newSpec.ForEach(p =>
|
||||
{
|
||||
p.name = p.name.Replace("newSpec.", "");
|
||||
p.name = p.name.Replace("newSpec&&", "");
|
||||
newSpecStr += p.name + ":" + p.value + "|";
|
||||
});
|
||||
newSpecStr = newSpecStr.Remove(newSpecStr.Length - 1, 1);
|
||||
@@ -910,7 +910,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
{
|
||||
selectSpec.ForEach(p =>
|
||||
{
|
||||
p.name = p.name.Replace("selectSpec.", "");
|
||||
p.name = p.name.Replace("selectSpec&&", "");
|
||||
selectSpecStr += p.name + ":" + p.value + "|";
|
||||
});
|
||||
selectSpecStr = selectSpecStr.Remove(selectSpecStr.Length - 1, 1);
|
||||
@@ -921,8 +921,8 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
||||
var newSelectSpec = selectSpec;
|
||||
newSelectSpec.ForEach(p =>
|
||||
{
|
||||
var id = p.name.Split(".")[0];
|
||||
var name = p.name.Split(".")[1];
|
||||
var id = p.name.Split("&&")[0];
|
||||
var name = p.name.Split("&&")[1];
|
||||
p.name = name;
|
||||
|
||||
var newValue = newSpec.Find(p => p.name == id);
|
||||
|
||||
@@ -444,10 +444,10 @@
|
||||
{{# layui.each(item.specValues, function(indexValue, itemValue){ }}
|
||||
<div class="spec-item">
|
||||
<div class="checkboxBox">
|
||||
<input type="checkbox" name="selectSpec.{{itemValue.id}}.{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
|
||||
<input type="checkbox" name="selectSpec&&{{itemValue.id}}&&{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" value="{{itemValue.value}}" name="newSpec.{{itemValue.id}}" class="layui-input">
|
||||
<input type="text" value="{{itemValue.value}}" name="newSpec&&{{itemValue.id}}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
{{# }); }}
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
{{# layui.each(item.specValues, function(indexValue, itemValue){ }}
|
||||
<div class="spec-item">
|
||||
<div class="checkboxBox">
|
||||
<input type="checkbox" name="selectSpec.{{itemValue.id}}.{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭" disabled="disabled">
|
||||
<input type="checkbox" name="selectSpec&&{{itemValue.id}}&&{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭" disabled="disabled">
|
||||
</div>
|
||||
<div class="layui-input-inline layui-inline-3 layui-form-mid">{{getSelectedTypeSpecValue(d.model.newSpec, itemValue.id, itemValue.value)}}</div>
|
||||
</div>
|
||||
@@ -715,7 +715,7 @@
|
||||
if (parameters) {
|
||||
var arr = parameters.split('|');
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var str = id + '.' + value;
|
||||
var str = id + '&&' + value;
|
||||
var child = arr[i].split(':');
|
||||
if (child[0] === str) {
|
||||
return true;
|
||||
|
||||
@@ -441,10 +441,10 @@
|
||||
{{# layui.each(item.specValues, function(indexValue, itemValue){ }}
|
||||
<div class="spec-item">
|
||||
<div class="checkboxBox">
|
||||
<input type="checkbox" name="selectSpec.{{itemValue.id}}.{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
|
||||
<input type="checkbox" name="selectSpec&&{{itemValue.id}}&&{{item.name}}" value="{{itemValue.value}}" lay-skin="switch" {{isSelectedTypeSpec(d.model.spesDesc, itemValue.id,item.name)?'checked="checked"':''}} lay-filter="spec_select" class="spec-select" lay-text="启用|关闭">
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" value="{{getSelectedTypeSpecValue(d.model.newSpec, itemValue.id, itemValue.value)}}" name="newSpec.{{itemValue.id}}" class="layui-input">
|
||||
<input type="text" value="{{getSelectedTypeSpecValue(d.model.newSpec, itemValue.id, itemValue.value)}}" name="newSpec&&{{itemValue.id}}" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
{{# }); }}
|
||||
@@ -1680,7 +1680,7 @@
|
||||
if (parameters) {
|
||||
var arr = parameters.split('|');
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
var str = id + '.' + value;
|
||||
var str = id + '&&' + value;
|
||||
var child = arr[i].split(':');
|
||||
if (child[0] === str) {
|
||||
return true;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoodsTypeSpec-createForm" id="LAY-app-CoreCmsGoodsTypeSpec-createForm">
|
||||
<blockquote class="layui-elem-quote">
|
||||
SKU模型值只支持:中文、英文、数字、中文输入大写符号、英文小写二个符号(-、/)
|
||||
SKU模型值只支持:中文、英文、数字、中文输入大写符号、英文小写三个符号(-、/、.)【横杠,斜杠,点】<br />
|
||||
禁止出现符号为:【`~!@#$^&*()=|\"{}':;',\\[\\]<>?~!@#¥……&*&;|{}。*-+】
|
||||
</blockquote>
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label">模型名称</label>
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
<div class="layui-form coreshop-form layui-form-pane" lay-filter="LAY-app-CoreCmsGoodsTypeSpec-editForm" id="LAY-app-CoreCmsGoodsTypeSpec-editForm">
|
||||
<input type="hidden" name="id" id="id" value="{{d.params.data.id || '' }}" />
|
||||
<blockquote class="layui-elem-quote">
|
||||
SKU模型值只支持:中文、英文、数字、中文输入大写符号、英文小写二个符号(-、/)
|
||||
SKU模型值只支持:中文、英文、数字、中文输入大写符号、英文小写三个符号(-、/、.)【横杠,斜杠,点】<br />
|
||||
禁止出现符号为:【`~!@#$^&*()=|\"{}':;',\\[\\]<>?~!@#¥……&*&;|{}。*-+】
|
||||
</blockquote>
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label">模型名称</label>
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '创建数据',
|
||||
area: ['550px', '90%'],
|
||||
area: ['700px', '90%'],
|
||||
id: 'LAY-popup-CoreCmsGoodsTypeSpec-create',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('good/goodstypespec/create', { data: e.data }).done(function () {
|
||||
@@ -192,7 +192,7 @@
|
||||
admin.popup({
|
||||
shadeClose: false,
|
||||
title: '编辑数据',
|
||||
area: ['550px', '90%'],
|
||||
area: ['700px', '90%'],
|
||||
id: 'LAY-popup-CoreCmsGoodsTypeSpec-edit',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('good/goodstypespec/edit', { data: e.data }).done(function () {
|
||||
|
||||
1
数据库/MySql/20221104/更新脚本.txt
Normal file
1
数据库/MySql/20221104/更新脚本.txt
Normal file
@@ -0,0 +1 @@
|
||||
UPDATE dbo.CoreCmsGoods SET spesDesc = REPLACE(spesDesc, '.', '&&'), parameters = REPLACE(parameters, '.', '&&'), newSpec = REPLACE(newSpec, '.', '&&');
|
||||
@@ -1,3 +1,6 @@
|
||||
2022-11-04
|
||||
【更新数据】更新表【CoreCmsGoods】数据,将小写逗号【.】,批量替换为【&&】,允许sku使用小写逗号。
|
||||
|
||||
2022-10-01
|
||||
【删除】表【CoreCmsArea】【postalCode】字段,
|
||||
【更新】表【CoreCmsArea】更新最新的全国行政区划,
|
||||
|
||||
2
数据库/SqlServer/20221104/更新脚本.txt
Normal file
2
数据库/SqlServer/20221104/更新脚本.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
--更新商品编码分隔符
|
||||
UPDATE dbo.CoreCmsGoods SET spesDesc = REPLACE(spesDesc, '.', '&&'), parameters = REPLACE(parameters, '.', '&&'), newSpec = REPLACE(newSpec, '.', '&&');
|
||||
@@ -1,3 +1,6 @@
|
||||
2022-11-04
|
||||
【更新数据】更新表【CoreCmsGoods】数据,将小写逗号【.】,批量替换为【&&】,允许sku使用小写逗号。
|
||||
|
||||
2022-10-01
|
||||
【删除】表【CoreCmsArea】【postalCode】字段,
|
||||
【更新】表【CoreCmsArea】更新最新的全国行政区划,
|
||||
|
||||
Reference in New Issue
Block a user