# 2022-03-21

### 1.4.1 开源社区版:
无
### 0.3.0 专业版:
【新增】微信自定义交易组件增加【免审更新】功能。
【新增】微信自定义交易组件增加【上传品牌信息】功能。
【新增】微信自定义交易组件增加【品牌信息】审核回调验证功能。
This commit is contained in:
JianWeie
2022-03-21 04:10:58 +08:00
parent 88dec4dd21
commit 37c3ff7bf3
36 changed files with 3907 additions and 106 deletions

View File

@@ -0,0 +1,585 @@
/***********************************************************************
* Project: CoreCms
* ProjectName: 核心内容管理系统
* Web: https://www.corecms.net
* Author: 大灰灰
* Email: jianweie@163.com
* CreateTime: 2022/3/20 1:19:25
* Description: 暂无
***********************************************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Caching.AccressToken;
using CoreCms.Net.Configuration;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Filter;
using CoreCms.Net.Loging;
using CoreCms.Net.IServices;
using CoreCms.Net.Utility.Helper;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.WeChat.Service.HttpClients;
using CoreCms.Net.WeChat.Service.TransactionComponent.Enum;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using SKIT.FlurlHttpClient.Wechat.Api;
using SKIT.FlurlHttpClient.Wechat.Api.Models;
using SqlSugar;
namespace CoreCms.Net.Web.Admin.Controllers
{
/// <summary>
/// 自定义交易组件上传品牌信息
///</summary>
[Description("自定义交易组件上传品牌信息")]
[Route("api/[controller]/[action]")]
[ApiController]
[RequiredErrorForAdmin]
[Authorize]
public class WeChatTransactionComponentBrandAuditController : ControllerBase
{
private readonly IWebHostEnvironment _webHostEnvironment;
private readonly IWeChatTransactionComponentBrandAuditServices _weChatTransactionComponentBrandAuditServices;
private readonly WeChat.Service.HttpClients.IWeChatApiHttpClientFactory _weChatApiHttpClientFactory;
/// <summary>
/// 构造函数
///</summary>
public WeChatTransactionComponentBrandAuditController(IWebHostEnvironment webHostEnvironment
, IWeChatTransactionComponentBrandAuditServices weChatTransactionComponentBrandAuditServices, IWeChatApiHttpClientFactory weChatApiHttpClientFactory)
{
_webHostEnvironment = webHostEnvironment;
_weChatTransactionComponentBrandAuditServices = weChatTransactionComponentBrandAuditServices;
_weChatApiHttpClientFactory = weChatApiHttpClientFactory;
}
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/GetPageList
/// <summary>
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("获取列表")]
public async Task<AdminUiCallBack> GetPageList()
{
var jm = new AdminUiCallBack();
var pageCurrent = Request.Form["page"].FirstOrDefault().ObjectToInt(1);
var pageSize = Request.Form["limit"].FirstOrDefault().ObjectToInt(30);
var where = PredicateBuilder.True<WeChatTransactionComponentBrandAudit>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<WeChatTransactionComponentBrandAudit, object>> orderEx = orderField switch
{
"id" => p => p.id,
"license" => p => p.license,
"brand_audit_type" => p => p.brand_audit_type,
"trademark_type" => p => p.trademark_type,
"brand_management_type" => p => p.brand_management_type,
"commodity_origin_type" => p => p.commodity_origin_type,
"brand_wording" => p => p.brand_wording,
"sale_authorization" => p => p.sale_authorization,
"trademark_registration_certificate" => p => p.trademark_registration_certificate,
"trademark_change_certificate" => p => p.trademark_change_certificate,
"trademark_registrant" => p => p.trademark_registrant,
"trademark_registrant_nu" => p => p.trademark_registrant_nu,
"trademark_authorization_period" => p => p.trademark_authorization_period,
"trademark_registration_application" => p => p.trademark_registration_application,
"trademark_applicant" => p => p.trademark_applicant,
"trademark_application_time" => p => p.trademark_application_time,
"imported_goods_form" => p => p.imported_goods_form,
"scene_group_list" => p => p.scene_group_list,
"audit_id" => p => p.audit_id,
"status" => p => p.status,
"brandId" => p => p.brandId,
"rejectReason" => p => p.rejectReason,
"createTime" => p => p.createTime,
_ => p => p.id
};
//设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
var orderBy = orderDirection switch
{
"asc" => OrderByType.Asc,
"desc" => OrderByType.Desc,
_ => OrderByType.Desc
};
//查询筛选
//序列 int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0)
{
where = where.And(p => p.id == id);
}
//营业执照或组织机构代码证 nvarchar
var license = Request.Form["license"].FirstOrDefault();
if (!string.IsNullOrEmpty(license))
{
where = where.And(p => p.license.Contains(license));
}
//认证审核类型 int
var brand_audit_type = Request.Form["brand_audit_type"].FirstOrDefault().ObjectToInt(0);
if (brand_audit_type > 0)
{
where = where.And(p => p.brand_audit_type == brand_audit_type);
}
//商标分类 nvarchar
var trademark_type = Request.Form["trademark_type"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_type))
{
where = where.And(p => p.trademark_type.Contains(trademark_type));
}
//经营类型 int
var brand_management_type = Request.Form["brand_management_type"].FirstOrDefault().ObjectToInt(0);
if (brand_management_type > 0)
{
where = where.And(p => p.brand_management_type == brand_management_type);
}
//商品产地是否进口 int
var commodity_origin_type = Request.Form["commodity_origin_type"].FirstOrDefault().ObjectToInt(0);
if (commodity_origin_type > 0)
{
where = where.And(p => p.commodity_origin_type == commodity_origin_type);
}
//商标/品牌词 nvarchar
var brand_wording = Request.Form["brand_wording"].FirstOrDefault();
if (!string.IsNullOrEmpty(brand_wording))
{
where = where.And(p => p.brand_wording.Contains(brand_wording));
}
//销售授权书 nvarchar
var sale_authorization = Request.Form["sale_authorization"].FirstOrDefault();
if (!string.IsNullOrEmpty(sale_authorization))
{
where = where.And(p => p.sale_authorization.Contains(sale_authorization));
}
//商标注册证书 nvarchar
var trademark_registration_certificate = Request.Form["trademark_registration_certificate"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_registration_certificate))
{
where = where.And(p => p.trademark_registration_certificate.Contains(trademark_registration_certificate));
}
//商标变更证明 nvarchar
var trademark_change_certificate = Request.Form["trademark_change_certificate"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_change_certificate))
{
where = where.And(p => p.trademark_change_certificate.Contains(trademark_change_certificate));
}
//商标注册人姓名 nvarchar
var trademark_registrant = Request.Form["trademark_registrant"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_registrant))
{
where = where.And(p => p.trademark_registrant.Contains(trademark_registrant));
}
//商标注册号/申请号 nvarchar
var trademark_registrant_nu = Request.Form["trademark_registrant_nu"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_registrant_nu))
{
where = where.And(p => p.trademark_registrant_nu.Contains(trademark_registrant_nu));
}
//商标有效期 datetime
var trademark_authorization_period = Request.Form["trademark_authorization_period"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_authorization_period))
{
if (trademark_authorization_period.Contains("到"))
{
var dts = trademark_authorization_period.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.trademark_authorization_period > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.trademark_authorization_period < dtEnd);
}
else
{
var dt = trademark_authorization_period.ObjectToDate();
where = where.And(p => p.trademark_authorization_period > dt);
}
}
//商标注册申请受理通知书 nvarchar
var trademark_registration_application = Request.Form["trademark_registration_application"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_registration_application))
{
where = where.And(p => p.trademark_registration_application.Contains(trademark_registration_application));
}
//商标申请人姓名 nvarchar
var trademark_applicant = Request.Form["trademark_applicant"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_applicant))
{
where = where.And(p => p.trademark_applicant.Contains(trademark_applicant));
}
//商标申请时间 datetime
var trademark_application_time = Request.Form["trademark_application_time"].FirstOrDefault();
if (!string.IsNullOrEmpty(trademark_application_time))
{
if (trademark_application_time.Contains("到"))
{
var dts = trademark_application_time.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.trademark_application_time > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.trademark_application_time < dtEnd);
}
else
{
var dt = trademark_application_time.ObjectToDate();
where = where.And(p => p.trademark_application_time > dt);
}
}
//中华人民共和国海关进口货物报关单 nvarchar
var imported_goods_form = Request.Form["imported_goods_form"].FirstOrDefault();
if (!string.IsNullOrEmpty(imported_goods_form))
{
where = where.And(p => p.imported_goods_form.Contains(imported_goods_form));
}
//商品使用场景 int
var scene_group_list = Request.Form["scene_group_list"].FirstOrDefault().ObjectToInt(0);
if (scene_group_list > 0)
{
where = where.And(p => p.scene_group_list == scene_group_list);
}
//审核单id nvarchar
var audit_id = Request.Form["audit_id"].FirstOrDefault();
if (!string.IsNullOrEmpty(audit_id))
{
where = where.And(p => p.audit_id.Contains(audit_id));
}
//审核状态 int
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
if (status > 0)
{
where = where.And(p => p.status == status);
}
//品牌id int
var brandId = Request.Form["brandId"].FirstOrDefault().ObjectToInt(0);
if (brandId > 0)
{
where = where.And(p => p.brandId == brandId);
}
//拒绝原因 nvarchar
var rejectReason = Request.Form["rejectReason"].FirstOrDefault();
if (!string.IsNullOrEmpty(rejectReason))
{
where = where.And(p => p.rejectReason.Contains(rejectReason));
}
//创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
{
if (createTime.Contains("到"))
{
var dts = createTime.Split("到");
var dtStart = dts[0].Trim().ObjectToDate();
where = where.And(p => p.createTime > dtStart);
var dtEnd = dts[1].Trim().ObjectToDate();
where = where.And(p => p.createTime < dtEnd);
}
else
{
var dt = createTime.ObjectToDate();
where = where.And(p => p.createTime > dt);
}
}
//获取数据
var list = await _weChatTransactionComponentBrandAuditServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
//返回数据
jm.data = list;
jm.code = 0;
jm.count = list.TotalCount;
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/GetIndex
/// <summary>
/// 首页数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("首页数据")]
public AdminUiCallBack GetIndex()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
//认证审核类型
var registerType = EnumHelper.EnumToList<GlobalEnumVars.RegisterType>();
//商标分类
var trademarkType = EnumHelper.EnumToList<GlobalEnumVars.TrademarkType>();
//品牌经营类型
var brandManagementType = EnumHelper.EnumToList<GlobalEnumVars.BrandManagementType>();
//商品产地是否进口
var commodityOriginType = EnumHelper.EnumToList<GlobalEnumVars.CommodityOriginType>();
var auditCategoryStatus = EnumHelper.EnumToList<AuditEnum.AuditCategoryStatus>();
jm.data = new
{
registerType,
trademarkType,
brandManagementType,
commodityOriginType,
auditCategoryStatus
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/GetCreate
/// <summary>
/// 创建数据
/// </summary>
/// <returns></returns>
[HttpPost]
[Description("创建数据")]
public AdminUiCallBack GetCreate()
{
//返回数据
var jm = new AdminUiCallBack { code = 0 };
//认证审核类型
var registerType = EnumHelper.EnumToList<GlobalEnumVars.RegisterType>();
//商标分类
var trademarkType = EnumHelper.EnumToList<GlobalEnumVars.TrademarkType>();
//品牌经营类型
var brandManagementType = EnumHelper.EnumToList<GlobalEnumVars.BrandManagementType>();
//商品产地是否进口
var commodityOriginType = EnumHelper.EnumToList<GlobalEnumVars.CommodityOriginType>();
jm.data = new
{
registerType,
trademarkType,
brandManagementType,
commodityOriginType,
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/DoCreate
/// <summary>
/// 创建提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("创建提交")]
public async Task<AdminUiCallBack> DoCreate([FromBody] WeChatTransactionComponentBrandAudit entity)
{
var jm = await _weChatTransactionComponentBrandAuditServices.InsertAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/GetEdit
/// <summary>
/// 编辑数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑数据")]
public async Task<AdminUiCallBack> GetEdit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _weChatTransactionComponentBrandAuditServices.QueryByIdAsync(entity.id, false);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
//认证审核类型
var registerType = EnumHelper.EnumToList<GlobalEnumVars.RegisterType>();
//商标分类
var trademarkType = EnumHelper.EnumToList<GlobalEnumVars.TrademarkType>();
//品牌经营类型
var brandManagementType = EnumHelper.EnumToList<GlobalEnumVars.BrandManagementType>();
//商品产地是否进口
var commodityOriginType = EnumHelper.EnumToList<GlobalEnumVars.CommodityOriginType>();
jm.data = new
{
model,
registerType,
trademarkType,
brandManagementType,
commodityOriginType,
};
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/Edit
/// <summary>
/// 编辑提交
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("编辑提交")]
public async Task<AdminUiCallBack> DoEdit([FromBody] WeChatTransactionComponentBrandAudit entity)
{
var jm = await _weChatTransactionComponentBrandAuditServices.UpdateAsync(entity);
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/DoDelete/10
/// <summary>
/// 单选删除
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("单选删除")]
public async Task<AdminUiCallBack> DoDelete([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _weChatTransactionComponentBrandAuditServices.ExistsAsync(p => p.id == entity.id, true);
if (!model)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
jm = await _weChatTransactionComponentBrandAuditServices.DeleteByIdAsync(entity.id);
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/GetDetails/10
/// <summary>
/// 预览数据
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("预览数据")]
public async Task<AdminUiCallBack> GetDetails([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _weChatTransactionComponentBrandAuditServices.QueryByIdAsync(entity.id, false);
if (model == null)
{
jm.msg = "不存在此信息";
return jm;
}
jm.code = 0;
jm.data = model;
return jm;
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentBrandAudit/DoAudit/10
/// <summary>
/// 提交审核
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("提交审核")]
public async Task<AdminUiCallBack> DoAudit([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _weChatTransactionComponentBrandAuditServices.QueryByIdAsync(entity.id, false);
if (model == null)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
//获取小程序认证
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
var request = new ShopAuditAuditBrandRequest();
request.AccessToken = accessToken;
request.Audit.LicenseUrl = model.license;
request.Audit.Brand.BrandAuditType = model.brand_audit_type;
request.Audit.Brand.TrademarkType = model.trademark_type;
request.Audit.Brand.BrandManagementType = model.brand_management_type;
request.Audit.Brand.CommodityOriginType = model.commodity_origin_type;
request.Audit.Brand.BrandWording = model.brand_wording;
request.Audit.Brand.SaleAuthorizationUrlList = !string.IsNullOrEmpty(model.sale_authorization)
? new List<string>(model.sale_authorization.Split(",")) : new List<string>();
request.Audit.Brand.TrademarkRegistrationCertificateUrlList = !string.IsNullOrEmpty(model.trademark_registration_certificate)
? new List<string>(model.trademark_registration_certificate.Split(",")) : new List<string>();
request.Audit.Brand.TrademarkChangeCertificateUrlList = !string.IsNullOrEmpty(model.trademark_change_certificate)
? new List<string>(model.trademark_change_certificate.Split(",")) : new List<string>();
request.Audit.Brand.TrademarkRegistrant = model.trademark_registrant;
request.Audit.Brand.TrademarkRegistrantNumber = model.trademark_registrant_nu;
request.Audit.Brand.TrademarkAuthorizationTime = model.trademark_authorization_period;
request.Audit.Brand.TrademarkRegistrationApplicationUrlList = !string.IsNullOrEmpty(model.trademark_registration_application)
? new List<string>(model.trademark_registration_application.Split(",")) : new List<string>();
request.Audit.Brand.TrademarkApplicant = model.trademark_applicant;
request.Audit.Brand.TrademarkAuthorizationTime = model.trademark_application_time;
request.Audit.Brand.ImportedGoodsFormUrlList = !string.IsNullOrEmpty(model.imported_goods_form)
? new List<string>(model.imported_goods_form.Split(",")) : new List<string>();
var response = await client.ExecuteShopAuditAuditBrandAsync(request);
if (response.IsSuccessful())
{
var bl = await _weChatTransactionComponentBrandAuditServices.UpdateAsync(
p => new WeChatTransactionComponentBrandAudit() { audit_id = response.AuditId },
p => p.id == model.id);
jm.code = 0;
jm.msg = "提交审核成功";
}
else
{
jm.code = 1;
jm.data = response.ErrorCode;
jm.msg = response.ErrorMessage;
jm.otherData = accessToken;
}
return jm;
}
#endregion
}
}

View File

@@ -843,6 +843,74 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
#endregion
#region ============================================================
// POST: Api/WeChatTransactionComponentGood/WithoutAuditUpdateSKU/10
/// <summary>
/// 提交更新
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
[Description("免审更新")]
public async Task<AdminUiCallBack> WithoutAuditUpdateSKU([FromBody] FMIntId entity)
{
var jm = new AdminUiCallBack();
var model = await _weChatTransactionComponentGoodsServices.QueryByClauseAsync(p => p.id == entity.id, true);
if (model == null)
{
jm.msg = GlobalConstVars.DataisNo;
return jm;
}
var sku = await _weChatTransactionComponentGoodSkuServices.QueryListByClauseAsync(p =>
p.isSelect == true && p.outProductId == model.outProductId);
//获取小程序认证
var accessToken = WeChatCacheAccessTokenHelper.GetWxOpenAccessToken();
var client = _weChatApiHttpClientFactory.CreateWxOpenClient();
var request = new ShopSPUUpdateWithoutAuditRequest();
request.AccessToken = accessToken;
request.OutProductId = model.outProductId;
request.ProductId = model.productId;
request.PagePath = model.path;
request.SKUList = new List<ShopSPUUpdateWithoutAuditRequest.Types.SKU>();
sku.ForEach(p =>
{
var item = new ShopSPUUpdateWithoutAuditRequest.Types.SKU();
item.OutSKUId = p.outSkuId;
item.SalePrice = Convert.ToInt32(p.salePrice * 100);
item.MarketPrice = Convert.ToInt32(p.marketPrice * 100);
item.Stock = p.stockNum;
item.BarCode = p.barCode;
item.SKUCode = p.skuCode;
request.SKUList.Add(item);
});
var response = await client.ExecuteShopSPUUpdateWithoutAuditAsync(request);
if (response.IsSuccessful())
{
jm.code = 0;
jm.msg = "更新成功";
}
else
{
jm.code = 1;
jm.data = response.ErrorCode;
jm.msg = response.ErrorMessage;
}
return jm;
}
#endregion
}
}

View File

@@ -46,6 +46,7 @@
<Compile Include="Controllers\WeChat\CoreCmsUserWeChatInfoController.cs" />
<Compile Include="Controllers\WeChat\CoreCmsUserWeChatMsgTemplateController.cs" />
<Compile Include="Controllers\WeChat\WeChatTransactionComponentAuditCategoryController.cs" />
<Compile Include="Controllers\WeChat\WeChatTransactionComponentBrandAuditController.cs" />
<Compile Include="Controllers\WeChat\WeChatTransactionComponentDeliveryCompanyController.cs" />
<Compile Include="Controllers\WeChat\WeChatTransactionComponentGoodController.cs" />
<Compile Include="Controllers\WeChat\WeChatTransactionComponentThirdCategoryController.cs" />

View File

@@ -109,6 +109,7 @@ a {
}
.coreshop-form .layui-form-label {
font-size: 12px;
padding: 8px 5px;
}
/*用于给*打红色标记一般用于<i>*/
.required-color {
@@ -1064,4 +1065,42 @@ xm-select .xm-body .xm-option.hide-icon.selected {
line-height: 16px;
display: inline;
vertical-align: middle;
}
.continuousCheckInBox {
overflow: hidden;
width: 450px;
margin-left: 50px;
border: 1px solid rgba(0, 0, 0, 0.1);
padding: 10px;
margin-bottom: 10px;
border-radius: 10px;
position: relative;
float: left;
}
.continuousCheckInBox .layui-form-item label {
width: 100px;
}
.continuousCheckInBox .btn-continuous-delete {
position: absolute;
right: 30px;
top: 30px;
}
.cumulativeCheckInBox {
overflow: hidden;
width: 450px;
margin-left: 50px;
border: 1px solid rgba(0, 0, 0, 0.1);
padding: 10px;
margin-bottom: 10px;
border-radius: 10px;
position: relative;
float: left;
}
.cumulativeCheckInBox .layui-form-item label {
width: 100px;
}
.cumulativeCheckInBox .btn-delete {
position: absolute;
right: 30px;
top: 30px;
}

View File

@@ -43,7 +43,7 @@ a { cursor: pointer }
.layui-form-mid { padding: 8px 10px !important; border-bottom: 1px dashed #eee; min-height: 21px; color: #999 !important;
.layui-form-switch { margin-top: -3px; }
}
/*表单左侧label文字大小重写*/ .layui-form-label { font-size: 12px; }
/*表单左侧label文字大小重写*/ .layui-form-label { font-size: 12px; padding: 8px 5px; }
}
/*用于给*打红色标记一般用于<i>*/
.required-color { color: red; }
@@ -361,4 +361,18 @@ xm-select .xm-label .xm-label-block, xm-select .xm-body .xm-option.hide-icon.sel
.layadmin-side-shrink .layui-layout-admin .layui-logo { width: 60px; background-image: url(../images/common/logoMin.png); }
.ew-tree-table .ew-tree-pack { cursor: pointer; line-height: 16px; display: inline; vertical-align: middle; }
.ew-tree-table .ew-tree-pack > span { height: 16px; line-height: 16px; display: inline; vertical-align: middle; }
.ew-tree-table .ew-tree-pack > span { height: 16px; line-height: 16px; display: inline; vertical-align: middle; }
//连续签到
.continuousCheckInBox { overflow: hidden; width: 450px; margin-left: 50px; border: 1px solid rgba(0, 0, 0, 0.1); padding: 10px; margin-bottom: 10px; border-radius: 10px; position: relative; float: left;
.layui-form-item label { width: 100px; }
.btn-continuous-delete { position: absolute; right: 30px; top: 30px; }
}
//累计签到
.cumulativeCheckInBox { overflow: hidden; width: 450px; margin-left: 50px; border: 1px solid rgba(0, 0, 0, 0.1); padding: 10px; margin-bottom: 10px; border-radius: 10px; position: relative; float: left;
.layui-form-item label { width: 100px; }
.btn-delete { position: absolute; right: 30px; top: 30px; }
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,478 @@
<style>
.layui-upload-list { min-height: 120px; border: 1px solid #e6e6fa; padding: 10px; }
</style>
<script type="text/html" template lay-done="layui.data.done(d);">
<div class="layui-form coreshop-form transactioncomponent layui-form-pane" lay-filter="LAY-app-WeChatTransactionComponentBrandAudit-createForm" id="LAY-app-WeChatTransactionComponentBrandAudit-createForm">
<div class="layui-form-item">
<label for="license" class="layui-form-label layui-form-required">营业执照</label>
<div class="layui-input-inline layui-inline-12">
<input name="license" id="license" lay-verify="required|verifylicense" class="layui-input" lay-reqText="点击上传营业执照或组织机构代码证" placeholder="点击上传营业执照或组织机构代码证" />
</div>
<div class="layui-input-block">
<img class="coreshop-upload-img" id="viewImgBoxlicense" src="{{ layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtnlicense">点击上传营业执照或组织机构代码证</button>
</div>
</div>
<div class="layui-form-item">
<label for="brand_audit_type" class="layui-form-label layui-form-required">认证审核类型</label>
<div class="layui-input-inline layui-inline-3">
<select name="brand_audit_type" lay-verify="required|number" lay-reqText="请选择证审核类型">
<option value="">请选择证审核类型</option>
{{# layui.each(indexData.registerType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
<label for="trademark_type" class="layui-form-label layui-form-required">商标分类</label>
<div class="layui-input-inline layui-inline-3">
<select name="trademark_type" lay-verify="required|number" lay-reqText="请选择商标分类">
<option value="">请选择商标分类</option>
{{# layui.each(indexData.trademarkType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
<label for="brand_management_type" class="layui-form-label layui-form-required">经营类型</label>
<div class="layui-input-inline layui-inline-3">
<select name="brand_management_type" lay-reqText="请选择经营类型" lay-verify="required|number">
<option value="">请选择经营类型</option>
{{# layui.each(indexData.brandManagementType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
<label for="commodity_origin_type" class="layui-form-label layui-form-required">是否进口</label>
<div class="layui-input-inline layui-inline-3">
<select name="commodity_origin_type" lay-reqText="请选择商品是否进口" lay-verify="required|number">
<option value="">请选择商品是否进口</option>
{{# layui.each(indexData.commodityOriginType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="brand_wording" class="layui-form-label layui-form-required">商标/品牌词</label>
<div class="layui-input-block">
<input name="brand_wording" lay-verify="required|verifybrand_wording" class="layui-input" lay-reqText="请输入商标/品牌词" placeholder="请输入商标/品牌词" />
</div>
</div>
<!--<div class="layui-form-item">
<label for="sale_authorization" class="layui-form-label">销售授权书</label>
<div class="layui-input-block">
<input name="sale_authorization" lay-verify="required|verifysale_authorization" class="layui-input" lay-reqText="请输入销售授权书" placeholder="请输入销售授权书" />
</div>
</div>-->
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">销售授权书如商持人为自然人还需提供有其签名的身份证正反面扫描件最多不超过10张 <button type="button" class="layui-btn layui-btn-xs" id="upBtnSaleAuthorization"><i class="layui-icon"></i></button></a></legend></fieldset>
<div class="layui-form-item">
<div class="layui-input-inline layui-inline-2">
<input type="hidden" name="sale_authorization" id="sale_authorization" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-upload-list" id="sale_authorization_list"></div>
</div>
<div class="layui-form-item">
<label for="trademark_registration_certificate" class="layui-form-label layui-form-required">商标注册证书</label>
<div class="layui-input-inline layui-inline-12">
<input name="trademark_registration_certificate" id="trademark_registration_certificate" lay-verify="required|verifytrademark_registration_certificate" class="layui-input" lay-reqText="请输入商标注册证书" placeholder="请输入商标注册证书" />
</div>
<div class="layui-input-block">
<img class="coreshop-upload-img" id="viewImgBoxtrademark_registration_certificate" src="{{ layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtntrademark_registration_certificate">点击上传商标注册证书</button>
</div>
</div>
<!--<div class="layui-form-item">
<label for="trademark_change_certificate" class="layui-form-label">商标变更证明</label>
<div class="layui-input-block">
<input name="trademark_change_certificate" lay-verify="required|verifytrademark_change_certificate" class="layui-input" lay-reqText="请输入商标变更证明" placeholder="请输入商标变更证明" />
</div>
</div>-->
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">商标变更证明最多不超过5张 <button type="button" class="layui-btn layui-btn-xs" id="upBtnTrademarkChangeCertificate"><i class="layui-icon"></i></button></a></legend></fieldset>
<div class="layui-form-item">
<div class="layui-input-inline layui-inline-2">
<input type="hidden" name="trademark_change_certificate" id="trademark_change_certificate" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-upload-list" id="trademark_change_certificate_list"></div>
</div>
<div class="layui-form-item">
<label for="trademark_registrant" class="layui-form-label layui-form-required">商标注册人姓名</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_registrant" lay-verify="required|verifytrademark_registrant" class="layui-input" lay-reqText="请输入商标注册人姓名" placeholder="请输入商标注册人姓名" />
</div>
<label for="trademark_registrant_nu" class="layui-form-label layui-form-required">商标注册号</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_registrant_nu" lay-verify="required|verifytrademark_registrant_nu" class="layui-input" lay-reqText="请输入商标注册号/申请号" placeholder="请输入商标注册号/申请号" />
</div>
<div class="layui-form-mid">可提交商标注册号/申请号</div>
</div>
<div class="layui-form-item">
<label for="trademark_authorization_period" class="layui-form-label layui-form-required">商标有效期</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_authorization_period" id="createTime-WeChatTransactionComponentBrandAudit-trademark_authorization_period" type="text" lay-verify="required|datetime" class="layui-input" placeholder="请输入商标有效期" lay-reqText="请输入商标有效期" />
</div>
</div>
<div class="layui-form-item">
<label for="trademark_registration_application" class="layui-form-label">商标受理通知书</label>
<div class="layui-input-inline layui-inline-12">
<input name="trademark_registration_application" id="trademark_registration_application" lay-verify="required|verifytrademark_registration_application" class="layui-input" lay-reqText="请输入商标注册申请受理通知书" placeholder="请输入商标注册申请受理通知书" />
</div>
<div class="layui-input-block">
<img class="coreshop-upload-img" id="viewImgBoxTrademarkRegistrationApplication" src="{{ layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtnTrademarkRegistrationApplication">点击上传商标受理通知书</button>
</div>
</div>
<div class="layui-form-item">
<label for="trademark_applicant" class="layui-form-label">商标申请人姓名</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_applicant" lay-verify="required|verifytrademark_applicant" class="layui-input" lay-reqText="请输入商标申请人姓名" placeholder="请输入商标申请人姓名" />
</div>
<label for="trademark_application_time" class="layui-form-label">商标申请时间</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_application_time" id="createTime-WeChatTransactionComponentBrandAudit-trademark_application_time" type="text" lay-verify="required|datetime" class="layui-input" placeholder="请输入商标申请时间" lay-reqText="请输入商标申请时间" />
</div>
</div>
<!--<div class="layui-form-item">
<label for="imported_goods_form" class="layui-form-label">海关报关单</label>
<div class="layui-input-block">
<input name="imported_goods_form" lay-verify="required|verifyimported_goods_form" class="layui-input" lay-reqText="请输入中华人民共和国海关进口货物报关单" placeholder="请输入中华人民共和国海关进口货物报关单" />
</div>
</div>-->
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">海关报关单最多不超过5张 <button type="button" class="layui-btn layui-btn-xs" id="upBtnImportedGoodsForm"><i class="layui-icon"></i></button></a></legend></fieldset>
<div class="layui-form-item">
<div class="layui-input-inline layui-inline-2">
<input type="hidden" name="imported_goods_form" id="imported_goods_form" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-upload-list" id="imported_goods_form_list"></div>
</div>
<div class="layui-form-item">
<label for="scene_group_list" class="layui-form-label">商品使用场景</label>
<div class="layui-input-block">
<select name="scene_group_list" lay-reqText="请选择商品使用场景" lay-verify="required|number">
<option value="1">视频号</option>
<option value="3">订单中心</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-WeChatTransactionComponentBrandAudit-createForm-submit" id="LAY-app-WeChatTransactionComponentBrandAudit-createForm-submit" value="确认添加">
</div>
</div>
</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>
<script id="image_hg_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="delHGImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setHGDefault(this,'{{ item }}')"></a></div>
</div>
</div>
{{# }); }}
</script>
<script id="image_xs_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="delXSImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setXSDefault(this,'{{ item }}')"></a></div>
</div>
</div>
{{# }); }}
</script>
<script>
var $;
var trademark_change_certificate_imgs = [];
var imported_goods_form_imgs = [];
var sale_authorization_imgs = [];
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'],
function () {
$ = layui.$; var form = layui.form, admin = layui.admin, laydate = layui.laydate, upload = layui.upload, coreHelper = layui.coreHelper, laytpl = layui.laytpl;
//营业执照上传
upload.render({
elem: '#upBtnlicense'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
$('#viewImgBoxlicense').attr('src', res.data.fileUrl);
$("#license").val(res.data.fileUrl);
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//商标注册证书
upload.render({
elem: '#upBtntrademark_registration_certificate'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
$('#viewImgBoxtrademark_registration_certificate').attr('src', res.data.fileUrl);
$("#trademark_registration_certificate").val(res.data.fileUrl);
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//商标变更证明
upload.render({
elem: '#upBtnTrademarkChangeCertificate'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
trademark_change_certificate_imgs.push(res.data.fileUrl);
$('#trademark_change_certificate').val(trademark_change_certificate_imgs);
var getTpl = image_tpl.innerHTML, view = document.getElementById('trademark_change_certificate_list');
laytpl(getTpl).render(trademark_change_certificate_imgs, function (html) {
view.innerHTML = html;
});
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//商标受理通知书
upload.render({
elem: '#upBtnTrademarkRegistrationApplication'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
$('#viewImgBoxTrademarkRegistrationApplication').attr('src', res.data.fileUrl);
$("#trademark_registration_application").val(res.data.fileUrl);
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//海关报关单
upload.render({
elem: '#upBtnImportedGoodsForm'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
imported_goods_form_imgs.push(res.data.fileUrl);
$('#imported_goods_form').val(imported_goods_form_imgs);
var getTpl = image_hg_tpl.innerHTML, view = document.getElementById('imported_goods_form_list');
laytpl(getTpl).render(imported_goods_form_imgs, function (html) {
view.innerHTML = html;
});
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//销售授权书
upload.render({
elem: '#upBtnSaleAuthorization'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
sale_authorization_imgs.push(res.data.fileUrl);
$('#sale_authorization').val(sale_authorization_imgs);
var getTpl = image_xs_tpl.innerHTML, view = document.getElementById('sale_authorization_list');
laytpl(getTpl).render(sale_authorization_imgs, function (html) {
view.innerHTML = html;
});
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
laydate.render({
elem: '#createTime-WeChatTransactionComponentBrandAudit-trademark_authorization_period',
type: 'datetime'
});
laydate.render({
elem: '#createTime-WeChatTransactionComponentBrandAudit-trademark_application_time',
type: 'datetime'
});
form.verify({
verifylicense: [/^.{0,500}$/, '营业执照或组织机构代码证最大只允许输入500位字符'],
verifytrademark_type: [/^.{0,10}$/, '商标分类最大只允许输入10位字符'],
verifybrand_wording: [/^.{0,50}$/, '商标/品牌词最大只允许输入50位字符'],
verifysale_authorization: [/^.{0,500}$/, '销售授权书最大只允许输入500位字符'],
verifytrademark_registration_certificate: [/^.{0,500}$/, '商标注册证书最大只允许输入500位字符'],
verifytrademark_change_certificate: [/^.{0,500}$/, '商标变更证明最大只允许输入500位字符'],
verifytrademark_registrant: [/^.{0,100}$/, '商标注册人姓名最大只允许输入100位字符'],
verifytrademark_registrant_nu: [/^.{0,10}$/, '商标注册号/申请号最大只允许输入10位字符'],
verifytrademark_registration_application: [/^.{0,100}$/, '商标注册申请受理通知书最大只允许输入100位字符'],
verifytrademark_applicant: [/^.{0,100}$/, '商标申请人姓名最大只允许输入100位字符'],
verifyimported_goods_form: [/^.{0,500}$/, '中华人民共和国海关进口货物报关单最大只允许输入500位字符'],
});
//重载form
form.render(null, 'LAY-app-WeChatTransactionComponentBrandAudit-createForm');
})
};
//删除图片
function delImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = trademark_change_certificate_imgs.indexOf(imageUrl);
if (index > -1) {
trademark_change_certificate_imgs.splice(index, 1);
}
$('#trademark_change_certificate').val(trademark_change_certificate_imgs);
}
//设为默认图
function setDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#trademark_change_certificate_list").prepend(imgDiv);
var index = trademark_change_certificate_imgs.indexOf(imageUrl);
if (index > -1) {
trademark_change_certificate_imgs.unshift(trademark_change_certificate_imgs.splice(index, 1)[0]);
}
$('#trademark_change_certificate').val(trademark_change_certificate_imgs);
}
//删除图片
function delHGImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = imported_goods_form_imgs.indexOf(imageUrl);
if (index > -1) {
imported_goods_form_imgs.splice(index, 1);
}
$('#imported_goods_form').val(imported_goods_form_imgs);
}
//设为默认图
function setHGDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#imported_goods_form_list").prepend(imgDiv);
var index = imported_goods_form_imgs.indexOf(imageUrl);
if (index > -1) {
imported_goods_form_imgs.unshift(imported_goods_form_imgs.splice(index, 1)[0]);
}
$('#imported_goods_form').val(imported_goods_form_imgs);
}
//删除图片
function delXSImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = sale_authorization_imgs.indexOf(imageUrl);
if (index > -1) {
sale_authorization_imgs.splice(index, 1);
}
$('#sale_authorization').val(sale_authorization_imgs);
}
//设为默认图
function setXSDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#sale_authorization_list").prepend(imgDiv);
var index = sale_authorization_imgs.indexOf(imageUrl);
if (index > -1) {
sale_authorization_imgs.unshift(sale_authorization_imgs.splice(index, 1)[0]);
}
$('#sale_authorization').val(sale_authorization_imgs);
}
</script>

View File

@@ -0,0 +1,189 @@
<script type="text/html" template lay-done="layui.data.done(d);">
<table class="layui-table layui-form" lay-filter="LAY-app-WeChatTransactionComponentBrandAudit-detailsForm" id="LAY-app-WeChatTransactionComponentBrandAudit-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="license">营业执照或组织机构代码证</label>
</td>
<td>
{{ d.params.data.license || '' }}
</td>
</tr>
<tr>
<td>
<label for="brand_audit_type">认证审核类型</label>
</td>
<td>
{{ d.params.data.brand_audit_type || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_type">商标分类</label>
</td>
<td>
{{ d.params.data.trademark_type || '' }}
</td>
</tr>
<tr>
<td>
<label for="brand_management_type">经营类型</label>
</td>
<td>
{{ d.params.data.brand_management_type || '' }}
</td>
</tr>
<tr>
<td>
<label for="commodity_origin_type">商品产地是否进口</label>
</td>
<td>
{{ d.params.data.commodity_origin_type || '' }}
</td>
</tr>
<tr>
<td>
<label for="brand_wording">商标/品牌词</label>
</td>
<td>
{{ d.params.data.brand_wording || '' }}
</td>
</tr>
<tr>
<td>
<label for="sale_authorization">销售授权书</label>
</td>
<td>
{{ d.params.data.sale_authorization || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_registration_certificate">商标注册证书</label>
</td>
<td>
{{ d.params.data.trademark_registration_certificate || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_change_certificate">商标变更证明</label>
</td>
<td>
{{ d.params.data.trademark_change_certificate || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_registrant">商标注册人姓名</label>
</td>
<td>
{{ d.params.data.trademark_registrant || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_registrant_nu">商标注册号/申请号</label>
</td>
<td>
{{ d.params.data.trademark_registrant_nu || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_authorization_period">商标有效期</label>
</td>
<td>
{{ d.params.data.trademark_authorization_period || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_registration_application">商标注册申请受理通知书</label>
</td>
<td>
{{ d.params.data.trademark_registration_application || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_applicant">商标申请人姓名</label>
</td>
<td>
{{ d.params.data.trademark_applicant || '' }}
</td>
</tr>
<tr>
<td>
<label for="trademark_application_time">商标申请时间</label>
</td>
<td>
{{ d.params.data.trademark_application_time || '' }}
</td>
</tr>
<tr>
<td>
<label for="imported_goods_form">中华人民共和国海关进口货物报关单</label>
</td>
<td>
{{ d.params.data.imported_goods_form || '' }}
</td>
</tr>
<tr>
<td>
<label for="scene_group_list">商品使用场景</label>
</td>
<td>
{{ d.params.data.scene_group_list || '' }}
</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-WeChatTransactionComponentBrandAudit-detailsForm');
});
};
</script>

View File

@@ -0,0 +1,515 @@
<style>
.layui-upload-list { min-height: 120px; border: 1px solid #e6e6fa; padding: 10px; }
</style>
<script type="text/html" template lay-done="layui.data.sendParams(d);">
<div class="layui-form coreshop-form transactioncomponent layui-form-pane" lay-filter="LAY-app-WeChatTransactionComponentBrandAudit-editForm" id="LAY-app-WeChatTransactionComponentBrandAudit-editForm">
<input type="hidden" name="id" value="{{d.params.data.model.id || '' }}" />
<div class="layui-form-item">
<label for="license" class="layui-form-label layui-form-required">营业执照</label>
<div class="layui-input-inline layui-inline-12">
<input name="license" id="license" lay-verify="required|verifylicense" class="layui-input" lay-reqText="点击上传营业执照或组织机构代码证" placeholder="点击上传营业执照或组织机构代码证" value="{{d.params.data.model.license || '' }}" />
</div>
<div class="layui-input-block">
<img class="coreshop-upload-img" id="viewImgBoxlicense" src="{{ d.params.data.model.license || layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtnlicense">点击上传营业执照或组织机构代码证</button>
</div>
</div>
<div class="layui-form-item">
<label for="brand_audit_type" class="layui-form-label layui-form-required">认证审核类型</label>
<div class="layui-input-inline layui-inline-3">
<select name="brand_audit_type" lay-verify="required|number" lay-reqText="请选择证审核类型">
<option value="">请选择证审核类型</option>
{{# layui.each(indexData.registerType, function(index, item){ }}
<option value="{{ item.value }}" {{d.params.data.model.brand_audit_type == item.value ? 'selected="selected"' :''}}>{{ item.title }}</option>
{{# }); }}
</select>
</div>
<label for="trademark_type" class="layui-form-label layui-form-required">商标分类</label>
<div class="layui-input-inline layui-inline-3">
<select name="trademark_type" lay-verify="required|number" lay-reqText="请选择商标分类">
<option value="">请选择商标分类</option>
{{# layui.each(indexData.trademarkType, function(index, item){ }}
<option value="{{ item.value }}" {{d.params.data.model.trademark_type ==item.value ? 'selected="selected"' :''}}>{{ item.title }}</option>
{{# }); }}
</select>
</div>
<label for="brand_management_type" class="layui-form-label layui-form-required">经营类型</label>
<div class="layui-input-inline layui-inline-3">
<select name="brand_management_type" lay-reqText="请选择经营类型" lay-verify="required|number">
<option value="">请选择经营类型</option>
{{# layui.each(indexData.brandManagementType, function(index, item){ }}
<option value="{{ item.value }}" {{d.params.data.model.brand_management_type ==item.value ? 'selected="selected"' :''}}>{{ item.title }}</option>
{{# }); }}
</select>
</div>
<label for="commodity_origin_type" class="layui-form-label layui-form-required">是否进口</label>
<div class="layui-input-inline layui-inline-3">
<select name="commodity_origin_type" lay-reqText="请选择商品是否进口" lay-verify="required|number">
<option value="">请选择商品是否进口</option>
{{# layui.each(indexData.commodityOriginType, function(index, item){ }}
<option value="{{ item.value }}" {{d.params.data.model.commodity_origin_type ==item.value ? 'selected="selected"' :''}}>{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-form-item">
<label for="brand_wording" class="layui-form-label layui-form-required">商标/品牌词</label>
<div class="layui-input-block">
<input name="brand_wording" lay-verType="tips" lay-verify="required|verifybrand_wording" class="layui-input" placeholder="请输入商标/品牌词" lay-reqText="请输入商标/品牌词" value="{{d.params.data.model.brand_wording || '' }}" />
</div>
</div>
<!--<div class="layui-form-item">
<label for="sale_authorization" class="layui-form-label layui-form-required">销售授权书</label>
<div class="layui-input-block">
<input name="sale_authorization" lay-verType="tips" lay-verify="required|verifysale_authorization" class="layui-input" placeholder="请输入销售授权书" lay-reqText="请输入销售授权书" value="{{d.params.data.model.sale_authorization || '' }}" />
</div>
</div>-->
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">销售授权书如商持人为自然人还需提供有其签名的身份证正反面扫描件最多不超过10张 <button type="button" class="layui-btn layui-btn-xs" id="upBtnSaleAuthorization"><i class="layui-icon"></i></button></a></legend></fieldset>
<div class="layui-form-item">
<div class="layui-input-inline layui-inline-2">
<input type="hidden" name="sale_authorization" id="sale_authorization" value="{{d.params.data.model.sale_authorization || '' }}" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-upload-list" id="sale_authorization_list"></div>
</div>
<!--<div class="layui-form-item">
<label for="trademark_registration_certificate" class="layui-form-label layui-form-required">商标注册证书</label>
<div class="layui-input-block">
<input name="trademark_registration_certificate" lay-verType="tips" lay-verify="required|verifytrademark_registration_certificate" class="layui-input" placeholder="请输入商标注册证书" lay-reqText="请输入商标注册证书" value="{{d.params.data.model.trademark_registration_certificate || '' }}" />
</div>
</div>-->
<div class="layui-form-item">
<label for="trademark_registration_certificate" class="layui-form-label layui-form-required">商标注册证书</label>
<div class="layui-input-inline layui-inline-12">
<input name="trademark_registration_certificate" id="trademark_registration_certificate" lay-verify="required|verifytrademark_registration_certificate" class="layui-input" lay-reqText="请输入商标注册证书" placeholder="请输入商标注册证书" value="{{d.params.data.model.trademark_registration_certificate || '' }}" />
</div>
<div class="layui-input-block">
<img class="coreshop-upload-img" id="viewImgBoxtrademark_registration_certificate" src="{{ d.params.data.model.trademark_registration_certificate ||layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtntrademark_registration_certificate">点击上传商标注册证书</button>
</div>
</div>
<!--<div class="layui-form-item">
<label for="trademark_change_certificate" class="layui-form-label layui-form-required">商标变更证明</label>
<div class="layui-input-block">
<input name="trademark_change_certificate" lay-verType="tips" lay-verify="required|verifytrademark_change_certificate" class="layui-input" placeholder="请输入商标变更证明" lay-reqText="请输入商标变更证明" value="{{d.params.data.model.trademark_change_certificate || '' }}" />
</div>
</div>-->
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">商标变更证明最多不超过5张 <button type="button" class="layui-btn layui-btn-xs" id="upBtnTrademarkChangeCertificate"><i class="layui-icon"></i></button></a></legend></fieldset>
<div class="layui-form-item">
<div class="layui-input-inline layui-inline-2">
<input type="hidden" name="trademark_change_certificate" id="trademark_change_certificate" value="{{d.params.data.model.trademark_change_certificate || '' }}" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-upload-list" id="trademark_change_certificate_list"></div>
</div>
<div class="layui-form-item">
<label for="trademark_registrant" class="layui-form-label layui-form-required">商标注册人姓名</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_registrant" lay-verType="tips" lay-verify="required|verifytrademark_registrant" class="layui-input" placeholder="请输入商标注册人姓名" lay-reqText="请输入商标注册人姓名" value="{{d.params.data.model.trademark_registrant || '' }}" />
</div>
<label for="trademark_registrant_nu" class="layui-form-label layui-form-required">商标注册号/申请号</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_registrant_nu" lay-verType="tips" lay-verify="required|verifytrademark_registrant_nu" class="layui-input" placeholder="请输入商标注册号/申请号" lay-reqText="请输入商标注册号/申请号" value="{{d.params.data.model.trademark_registrant_nu || '' }}" />
</div>
</div>
<div class="layui-form-item">
<label for="trademark_authorization_period" class="layui-form-label layui-form-required">商标有效期</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_authorization_period" id="editTime-WeChatTransactionComponentBrandAudit-trademark_authorization_period" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" placeholder="请输入商标有效期" lay-reqText="请输入商标有效期" value="{{d.params.data.model.trademark_authorization_period || '' }}" />
</div>
</div>
<!--<div class="layui-form-item">
<label for="trademark_registration_application" class="layui-form-label layui-form-required">商标注册申请受理通知书</label>
<div class="layui-input-block">
<input name="trademark_registration_application" lay-verType="tips" lay-verify="required|verifytrademark_registration_application" class="layui-input" placeholder="请输入商标注册申请受理通知书" lay-reqText="请输入商标注册申请受理通知书" value="{{d.params.data.model.trademark_registration_application || '' }}" />
</div>
</div>-->
<div class="layui-form-item">
<label for="trademark_registration_application" class="layui-form-label">商标受理通知书</label>
<div class="layui-input-inline layui-inline-12">
<input name="trademark_registration_application" id="trademark_registration_application" lay-verify="required|verifytrademark_registration_application" class="layui-input" lay-reqText="请输入商标注册申请受理通知书" placeholder="请输入商标注册申请受理通知书" value="{{d.params.data.model.trademark_registration_application || '' }}" />
</div>
<div class="layui-input-block">
<img class="coreshop-upload-img" id="viewImgBoxTrademarkRegistrationApplication" src="{{ d.params.data.model.trademark_registration_application || layui.setter.noImagePicUrl }}">
<button type="button" class="layui-btn" id="upBtnTrademarkRegistrationApplication">点击上传商标受理通知书</button>
</div>
</div>
<div class="layui-form-item">
<label for="trademark_applicant" class="layui-form-label layui-form-required">商标申请人姓名</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_applicant" lay-verType="tips" lay-verify="required|verifytrademark_applicant" class="layui-input" placeholder="请输入商标申请人姓名" lay-reqText="请输入商标申请人姓名" value="{{d.params.data.model.trademark_applicant || '' }}" />
</div>
<label for="trademark_application_time" class="layui-form-label layui-form-required">商标申请时间</label>
<div class="layui-input-inline layui-inline-6">
<input name="trademark_application_time" id="editTime-WeChatTransactionComponentBrandAudit-trademark_application_time" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" placeholder="请输入商标申请时间" lay-reqText="请输入商标申请时间" value="{{d.params.data.model.trademark_application_time || '' }}" />
</div>
</div>
<!--<div class="layui-form-item">
<label for="imported_goods_form" class="layui-form-label layui-form-required">中华人民共和国海关进口货物报关单</label>
<div class="layui-input-block">
<input name="imported_goods_form" lay-verType="tips" lay-verify="required|verifyimported_goods_form" class="layui-input" placeholder="请输入中华人民共和国海关进口货物报关单" lay-reqText="请输入中华人民共和国海关进口货物报关单" value="{{d.params.data.model.imported_goods_form || '' }}" />
</div>
</div>-->
<fieldset class="layui-elem-field layui-field-title site-title"><legend><a name="compress">海关报关单最多不超过5张 <button type="button" class="layui-btn layui-btn-xs" id="upBtnImportedGoodsForm"><i class="layui-icon"></i></button></a></legend></fieldset>
<div class="layui-form-item">
<div class="layui-input-inline layui-inline-2">
<input type="hidden" name="imported_goods_form" id="imported_goods_form" value="{{d.params.data.model.imported_goods_form || '' }}" class="layui-input" placeholder="请上传缩略图" lay-reqText="请上传缩略图" />
</div>
</div>
<div class="layui-form-item">
<div class="layui-upload-list" id="imported_goods_form_list"></div>
</div>
<div class="layui-form-item">
<label for="scene_group_list" class="layui-form-label layui-form-required">商品使用场景</label>
<div class="layui-input-block">
<select name="scene_group_list" lay-reqText="请选择商品使用场景" lay-verify="required|number">
<option value="1" {{d.params.data.model.scene_group_list ===1 ? 'selected="selected"' :''}}>视频号</option>
<option value="3" {{d.params.data.model.scene_group_list ===3 ? 'selected="selected"' :''}}>订单中心</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-WeChatTransactionComponentBrandAudit-editForm-submit" id="LAY-app-WeChatTransactionComponentBrandAudit-editForm-submit" value="确认编辑">
</div>
</div>
</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>
<script id="image_hg_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="delHGImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setHGDefault(this,'{{ item }}')"></a></div>
</div>
</div>
{{# }); }}
</script>
<script id="image_xs_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="delXSImg(this,'{{ item }}')">删除</a>|<a class="setmain" onclick="setXSDefault(this,'{{ item }}')"></a></div>
</div>
</div>
{{# }); }}
</script>
<script>
var $;
var trademark_change_certificate_imgs = [];
var imported_goods_form_imgs = [];
var sale_authorization_imgs = [];
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 () {
$ = layui.$; var form = layui.form, admin = layui.admin, laydate = layui.laydate, upload = layui.upload, coreHelper = layui.coreHelper, laytpl = layui.laytpl;
if (d.params.data.model.sale_authorization) {
sale_authorization_imgs = d.params.data.model.sale_authorization.split(',');
var getTpl = image_xs_tpl.innerHTML, view = document.getElementById('sale_authorization_list');
laytpl(getTpl).render(sale_authorization_imgs, function (html) {
view.innerHTML = html;
});
}
if (d.params.data.model.trademark_change_certificate) {
trademark_change_certificate_imgs = d.params.data.model.trademark_change_certificate.split(',');
var getTpl = image_tpl.innerHTML, view = document.getElementById('trademark_change_certificate_list');
laytpl(getTpl).render(trademark_change_certificate_imgs, function (html) {
view.innerHTML = html;
});
}
if (d.params.data.model.imported_goods_form) {
imported_goods_form_imgs = d.params.data.model.imported_goods_form.split(',');
var getTpl = image_hg_tpl.innerHTML, view = document.getElementById('imported_goods_form_list');
laytpl(getTpl).render(imported_goods_form_imgs, function (html) {
view.innerHTML = html;
});
}
//营业执照上传
upload.render({
elem: '#upBtnlicense'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
$('#viewImgBoxlicense').attr('src', res.data.fileUrl);
$("#license").val(res.data.fileUrl);
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//商标注册证书
upload.render({
elem: '#upBtntrademark_registration_certificate'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
$('#viewImgBoxtrademark_registration_certificate').attr('src', res.data.fileUrl);
$("#trademark_registration_certificate").val(res.data.fileUrl);
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//商标变更证明
upload.render({
elem: '#upBtnTrademarkChangeCertificate'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
trademark_change_certificate_imgs.push(res.data.fileUrl);
$('#trademark_change_certificate').val(trademark_change_certificate_imgs);
var getTpl = image_tpl.innerHTML, view = document.getElementById('trademark_change_certificate_list');
laytpl(getTpl).render(trademark_change_certificate_imgs, function (html) {
view.innerHTML = html;
});
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//商标受理通知书
upload.render({
elem: '#upBtnTrademarkRegistrationApplication'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
$('#viewImgBoxTrademarkRegistrationApplication').attr('src', res.data.fileUrl);
$("#trademark_registration_application").val(res.data.fileUrl);
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//海关报关单
upload.render({
elem: '#upBtnImportedGoodsForm'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
imported_goods_form_imgs.push(res.data.fileUrl);
$('#imported_goods_form').val(imported_goods_form_imgs);
var getTpl = image_hg_tpl.innerHTML, view = document.getElementById('imported_goods_form_list');
laytpl(getTpl).render(imported_goods_form_imgs, function (html) {
view.innerHTML = html;
});
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
//销售授权书
upload.render({
elem: '#upBtnSaleAuthorization'
, url: layui.setter.apiUrl + 'Api/Tools/MiNiShopOpenComponent2_UploadImg'
, before: function (obj) {
obj.preview(function (index, file, result) {
layer.msg('上传中', { icon: 16, shade: 0.4 });
});
}
, done: function (res) {
layer.closeAll('loading'); //关闭加载层
if (res.code > 0) {
return layer.msg('上传失败');
}
layer.msg('上传成功');
sale_authorization_imgs.push(res.data.fileUrl);
$('#sale_authorization').val(sale_authorization_imgs);
var getTpl = image_xs_tpl.innerHTML, view = document.getElementById('sale_authorization_list');
laytpl(getTpl).render(sale_authorization_imgs, function (html) {
view.innerHTML = html;
});
}
, error: function (res) {
layer.msg('上传失败,请重试');
console.log(res);
}
});
laydate.render({
elem: '#editTime-WeChatTransactionComponentBrandAudit-trademark_authorization_period',
type: 'datetime'
});
laydate.render({
elem: '#editTime-WeChatTransactionComponentBrandAudit-trademark_application_time',
type: 'datetime'
});
form.verify({
verifylicense: [/^.{0,500}$/, '营业执照或组织机构代码证最大只允许输入500位字符'],
verifytrademark_type: [/^.{0,10}$/, '商标分类最大只允许输入10位字符'],
verifybrand_wording: [/^.{0,50}$/, '商标/品牌词最大只允许输入50位字符'],
verifysale_authorization: [/^.{0,500}$/, '销售授权书最大只允许输入500位字符'],
verifytrademark_registration_certificate: [/^.{0,500}$/, '商标注册证书最大只允许输入500位字符'],
verifytrademark_change_certificate: [/^.{0,500}$/, '商标变更证明最大只允许输入500位字符'],
verifytrademark_registrant: [/^.{0,100}$/, '商标注册人姓名最大只允许输入100位字符'],
verifytrademark_registrant_nu: [/^.{0,10}$/, '商标注册号/申请号最大只允许输入10位字符'],
verifytrademark_registration_application: [/^.{0,100}$/, '商标注册申请受理通知书最大只允许输入100位字符'],
verifytrademark_applicant: [/^.{0,100}$/, '商标申请人姓名最大只允许输入100位字符'],
verifyimported_goods_form: [/^.{0,500}$/, '中华人民共和国海关进口货物报关单最大只允许输入500位字符'],
});
//重载form
form.render(null, 'LAY-app-WeChatTransactionComponentBrandAudit-editForm');
})
};
//删除图片
function delImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = trademark_change_certificate_imgs.indexOf(imageUrl);
if (index > -1) {
trademark_change_certificate_imgs.splice(index, 1);
}
$('#trademark_change_certificate').val(trademark_change_certificate_imgs);
}
//设为默认图
function setDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#trademark_change_certificate_list").prepend(imgDiv);
var index = trademark_change_certificate_imgs.indexOf(imageUrl);
if (index > -1) {
trademark_change_certificate_imgs.unshift(trademark_change_certificate_imgs.splice(index, 1)[0]);
}
$('#trademark_change_certificate').val(trademark_change_certificate_imgs);
}
//删除图片
function delHGImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = imported_goods_form_imgs.indexOf(imageUrl);
if (index > -1) {
imported_goods_form_imgs.splice(index, 1);
}
$('#imported_goods_form').val(imported_goods_form_imgs);
}
//设为默认图
function setHGDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#imported_goods_form_list").prepend(imgDiv);
var index = imported_goods_form_imgs.indexOf(imageUrl);
if (index > -1) {
imported_goods_form_imgs.unshift(imported_goods_form_imgs.splice(index, 1)[0]);
}
$('#imported_goods_form').val(imported_goods_form_imgs);
}
//删除图片
function delXSImg(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
imgDiv.remove();
var index = sale_authorization_imgs.indexOf(imageUrl);
if (index > -1) {
sale_authorization_imgs.splice(index, 1);
}
$('#sale_authorization').val(sale_authorization_imgs);
}
//设为默认图
function setXSDefault(obj, imageUrl) {
var imgDiv = $(obj).parent().parent().parent();
$("#sale_authorization_list").prepend(imgDiv);
var index = sale_authorization_imgs.indexOf(imageUrl);
if (index > -1) {
sale_authorization_imgs.unshift(sale_authorization_imgs.splice(index, 1)[0]);
}
$('#sale_authorization').val(sale_authorization_imgs);
}
</script>

View File

@@ -0,0 +1,430 @@
<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/WeChatTransactionComponentBrandAudit/GetIndex" lay-done="layui.data.done(d);">
</script>
<div class="table-body">
<table id="LAY-app-WeChatTransactionComponentBrandAudit-tableBox" lay-filter="LAY-app-WeChatTransactionComponentBrandAudit-tableBox"></table>
</div>
<script type="text/html" id="LAY-app-WeChatTransactionComponentBrandAudit-toolbar">
<div class="layui-form coreshop-toolbar-search-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label" for="brand_audit_type">认证审核类型</label>
<div class="layui-input-inline">
<select name="brand_audit_type">
<option value="">请选择证审核类型</option>
{{# layui.each(indexData.registerType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" for="trademark_type">商标分类</label>
<div class="layui-input-inline">
<select name="trademark_type">
<option value="">请选择商标分类</option>
{{# layui.each(indexData.trademarkType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" for="brand_management_type">经营类型</label>
<div class="layui-input-inline">
<select name="brand_management_type">
<option value="">请选择经营类型</option>
{{# layui.each(indexData.brandManagementType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label" for="commodity_origin_type">商品产地是否进口</label>
<div class="layui-input-inline">
<select name="commodity_origin_type">
<option value="">请选择商品产地是否进口</option>
{{# layui.each(indexData.commodityOriginType, function(index, item){ }}
<option value="{{ item.value }}">{{ item.title }}</option>
{{# }); }}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-WeChatTransactionComponentBrandAudit-search"><i class="layui-icon layui-icon-search"></i></button>
</div>
</div>
</div>
</script>
<script type="text/html" id="LAY-app-WeChatTransactionComponentBrandAudit-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>
<button class="layui-btn layui-btn-sm" lay-event="batchDelete"><i class="layui-icon layui-icon-delete"></i></button>
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="audit"><i class="layui-icon layui-icon-time"></i></a>
</div>
</script>
<script type="text/html" id="LAY-app-WeChatTransactionComponentBrandAudit-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="#WeChatTransactionComponentBrandAuditTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
<div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="WeChatTransactionComponentBrandAuditTbDelDrop{{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-WeChatTransactionComponentBrandAudit-search)',
function (data) {
var field = data.field;
searchwhere = field;
//执行重载
table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-tableBox', { where: field });
});
//数据绑定
table.render({
elem: '#LAY-app-WeChatTransactionComponentBrandAudit-tableBox',
url: layui.setter.apiUrl + 'Api/WeChatTransactionComponentBrandAudit/GetPageList',
method: 'POST',
toolbar: '#LAY-app-WeChatTransactionComponentBrandAudit-toolbar',
pagebar: '#LAY-app-WeChatTransactionComponentBrandAudit-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: "radio", fixed: "left" },
{ field: 'id', title: '序列', width: 60, sort: false },
//{ field: 'license', title: '营业执照或组织机构代码证', sort: false, width: 105 },
{
field: 'license', title: '营业执照', width: 80, sort: false,
templet: function (d) {
if (d.license) {
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.license + '")><image style="max-width:28px;max-height:28px;" src="' + d.license + '"/></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: 'brand_audit_type', title: '认证审核类型', sort: false, width: 105 },
{
field: 'brand_audit_type', title: '认证审核类型', sort: false, width: 130, templet: function (data) {
for (var i = 0; i < d.data.registerType.length; i++) {
if (data.brand_audit_type == d.data.registerType[i].value) {
return d.data.registerType[i].title;
}
}
return "";
}
},
//{ field: 'trademark_type', title: '商标分类', sort: false, width: 105 },
{
field: 'trademark_type', title: '商标分类', sort: false, width: 100, templet: function (data) {
for (var i = 0; i < d.data.trademarkType.length; i++) {
if (data.trademark_type == d.data.trademarkType[i].value) {
return d.data.trademarkType[i].title;
}
}
return "";
}
},
//{ field: 'brand_management_type', title: '经营类型', sort: false, width: 105 },
{
field: 'brand_management_type', title: '经营类型', sort: false, width: 100, templet: function (data) {
for (var i = 0; i < d.data.brandManagementType.length; i++) {
if (data.brand_management_type == d.data.brandManagementType[i].value) {
return d.data.brandManagementType[i].title;
}
}
return "";
}
},
//{ field: 'commodity_origin_type', title: '商品产地是否进口', sort: false, width: 130 },
{
field: 'commodity_origin_type', title: '商品产地是否进口', sort: false, width: 130, templet: function (data) {
for (var i = 0; i < d.data.commodityOriginType.length; i++) {
if (data.commodity_origin_type == d.data.commodityOriginType[i].value) {
return d.data.commodityOriginType[i].title;
}
}
return "";
}
},
{ field: 'brand_wording', title: '商标/品牌词', sort: false },
//{ field: 'sale_authorization', title: '销售授权书', sort: false, width: 105 },
//{ field: 'trademark_registration_certificate', title: '商标注册证书', sort: false, width: 105 },
//{ field: 'trademark_change_certificate', title: '商标变更证明', sort: false, width: 105 },
{ field: 'trademark_registrant', title: '商标注册人姓名', sort: false },
//{ field: 'trademark_registrant_nu', title: '商标注册号/申请号', sort: false, width: 105 },
{ field: 'trademark_authorization_period', title: '商标有效期', width: 130, sort: false },
//{ field: 'trademark_registration_application', title: '商标注册申请受理通知书', sort: false, width: 105 },
//{ field: 'trademark_applicant', title: '商标申请人姓名', sort: false, width: 105 },
//{ field: 'trademark_application_time', title: '商标申请时间', width: 130, sort: false },
//{ field: 'imported_goods_form', title: '中华人民共和国海关进口货物报关单', sort: false, width: 105 },
//{ field: 'scene_group_list', title: '商品使用场景', sort: false, width: 105 },
{ field: 'audit_id', title: '审核单', sort: false, width: 105 },
{
field: 'status', title: '审核状态', sort: false, width: 105, templet: function (data) {
for (var i = 0; i < d.data.auditCategoryStatus.length; i++) {
if (data.status == d.data.auditCategoryStatus[i].value) {
return d.data.auditCategoryStatus[i].description;
}
}
return "";
}
},
{ field: 'rejectReason', title: '拒绝原因', sort: false },
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
{ width: 162, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-WeChatTransactionComponentBrandAudit-tableBox-bar' }
]
]
});
//监听排序事件
table.on('sort(LAY-app-WeChatTransactionComponentBrandAudit-tableBox)', function (obj) {
table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-tableBox', {
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
orderField: obj.field, //排序字段
orderDirection: obj.type //排序方式
}
});
});
//监听行双击事件
table.on('rowDouble(LAY-app-WeChatTransactionComponentBrandAudit-tableBox)', function (obj) {
//查看详情
doDetails(obj);
});
//头工具栏事件
table.on('pagebar(LAY-app-WeChatTransactionComponentBrandAudit-tableBox)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'addData':
doCreate();
break;
case 'batchDelete':
doBatchDelete(checkStatus);
break;
case 'audit':
doAudit(checkStatus)
break;
};
});
//监听工具条
table.on('tool(LAY-app-WeChatTransactionComponentBrandAudit-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/WeChatTransactionComponentBrandAudit/GetCreate", null, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '创建数据',
area: ['1200px', '90%'],
id: 'LAY-popup-WeChatTransactionComponentBrandAudit-create',
success: function (layero, index) {
view(this.id).render('wechat/transactioncomponent/brandaudit/create', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-WeChatTransactionComponentBrandAudit-createForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/WeChatTransactionComponentBrandAudit/DoCreate", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-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-WeChatTransactionComponentBrandAudit-createForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行编辑操作
function doEdit(obj) {
coreHelper.Post("Api/WeChatTransactionComponentBrandAudit/GetEdit", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '编辑数据',
area: ['1200px', '90%'],
id: 'LAY-popup-WeChatTransactionComponentBrandAudit-edit',
success: function (layero, index) {
view(this.id).render('wechat/transactioncomponent/brandaudit/edit', { data: e.data }).done(function () {
//监听提交
form.on('submit(LAY-app-WeChatTransactionComponentBrandAudit-editForm-submit)',
function (data) {
var field = data.field; //获取提交的字段
if (debug) { console.log(field); } //开启调试返回数据
//提交 Ajax 成功后,关闭当前弹层并重载表格
coreHelper.Post("Api/WeChatTransactionComponentBrandAudit/DoEdit", field, function (e) {
console.log(e)
if (e.code === 0) {
layui.table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-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-WeChatTransactionComponentBrandAudit-editForm-submit").click();
}
});
} else {
layer.msg(e.msg);
}
});
}
//执行预览操作
function doDetails(obj) {
coreHelper.Post("Api/WeChatTransactionComponentBrandAudit/GetDetails", { id: obj.data.id }, function (e) {
if (e.code === 0) {
admin.popup({
shadeClose: false,
title: '查看详情',
area: ['1200px', '90%'],
id: 'LAY-popup-WeChatTransactionComponentBrandAudit-details',
success: function (layero, index) {
view(this.id).render('wechat/transactioncomponent/brandaudit/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/WeChatTransactionComponentBrandAudit/DoDelete", { id: obj.data.id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-tableBox');
layer.msg(e.msg);
});
}
//执行批量删除
function doBatchDelete(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);
});
coreHelper.Post("Api/WeChatTransactionComponentBrandAudit/DoBatchDelete", { id: delidsStr }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-tableBox');
layer.msg(e.msg);
});
});
}
//执行提交审核操作
function doAudit(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要处理的数据');
}
coreHelper.Post("Api/WeChatTransactionComponentBrandAudit/DoAudit", { id: checkData[0].id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-WeChatTransactionComponentBrandAudit-tableBox');
layer.msg(e.msg);
});
}
//重载form
form.render();
});
};
</script>

View File

@@ -46,6 +46,7 @@
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="getDraftSKU">获取草稿状态</a>
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="getLineSKU">获取线上状态</a>
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="listingSKU">上架商品</a>
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="withoutAuditUpdateSKU">免审更新</a>
<a class="layui-btn layui-btn-sm" data-id="{{d.id}}" lay-event="delistingSKU">下架商品</a>
<a class="layui-btn layui-btn-sm layui-btn-danger" data-id="{{d.id}}" lay-event="deleteSpu">清空数据</a>
</div>
@@ -207,7 +208,9 @@
case 'delistingSKU':
doDelistingSpu(checkStatus)
break;
case 'withoutAuditUpdateSKU':
doWithoutAuditUpdateSKU(checkStatus)
break;
};
});
@@ -591,7 +594,19 @@
});
});
}
//监听 表格复选框操作
//执行免审更新操作
function doWithoutAuditUpdateSKU(checkStatus) {
var checkData = checkStatus.data;
if (checkData.length === 0) {
return layer.msg('请选择您要处理的数据');
}
coreHelper.Post("Api/WeChatTransactionComponentGood/WithoutAuditUpdateSKU", { id: checkData[0].id }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
table.reloadData('LAY-app-WeChatTransactionComponentGood-tableBox');
layer.msg(e.msg);
});
}
});
};