From 45c6d6e44e9e8428718fc635d71e0869556da2c3 Mon Sep 17 00:00:00 2001 From: 移动系统liao <liaoxujun@qq.com> Date: 星期一, 20 五月 2024 15:36:53 +0800 Subject: [PATCH] no message --- CoreCms.Net.Model/Entities/Good/CoreCmsGoodsCategoryPartial.cs | 8 + CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/index.html | 4 CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/corecmsproducts/index.html | 33 ++++++ CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs | 7 + CoreCms.Net.Model/Entities/Good/CoreCmsProductsPartial.cs | 7 + CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs | 9 + CoreCms.Net.Repository/baifenbingfa/CoreCmsProductsRepository.cs | 10 + CoreCms.Net.Web.Admin/Controllers/Api/CommonAPIController.cs | 25 +++++ CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs | 80 +++++++++++++++ CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/create.html | 4 CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/edit.html | 4 CoreCms.Net.Web.Admin/wwwroot/views/order/orders/index.html | 22 +++- CoreCms.Net.Web.Admin/Controllers/baifenbingfa/CoreCmsProductsController.cs | 25 +++- CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs | 13 ++ 14 files changed, 228 insertions(+), 23 deletions(-) diff --git a/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs b/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs index dee9bc0..9a6339c 100644 --- a/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs +++ b/CoreCms.Net.IServices/baifenbingfa/IBfbfComAPIService.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing CoreCms.Net.Model.Entities; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -18,6 +19,12 @@ /// <param name="s"></param> /// <returns></returns> Task<List<SearchUserData>> SearchUserData(string s); + + /// <summary> + /// 鑾峰彇鍟嗗搧鍒嗙被 + /// </summary> + /// <returns></returns> + Task<List<CoreCmsGoodsCategory>> GetGoodsCategory(); /// <summary> /// 妫�鏌ョ敤鎴锋槸鍚︽槸缁忛攢鍟� /// </summary> diff --git a/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsCategoryPartial.cs b/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsCategoryPartial.cs index 1f34163..e591063 100644 --- a/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsCategoryPartial.cs +++ b/CoreCms.Net.Model/Entities/Good/CoreCmsGoodsCategoryPartial.cs @@ -8,7 +8,9 @@ * Description: 鏆傛棤 ***********************************************************************/ +using System.Collections.Generic; using System.ComponentModel.DataAnnotations; +using CoreCms.Net.Model.ViewModels.UI; using SqlSugar; namespace CoreCms.Net.Model.Entities @@ -24,5 +26,11 @@ [Display(Name = "绫诲埆鍚嶇О")] [SugarColumn(IsIgnore = true)] public string typeName { get; set; } + + /// <summary> + /// 瀛愭爲 + /// </summary> + [SqlSugar.SugarColumn(IsIgnore = true)] + public List<CoreCmsGoodsCategory> children { get; set; } } } \ No newline at end of file diff --git a/CoreCms.Net.Model/Entities/Good/CoreCmsProductsPartial.cs b/CoreCms.Net.Model/Entities/Good/CoreCmsProductsPartial.cs index 92c4a3a..9ee21df 100644 --- a/CoreCms.Net.Model/Entities/Good/CoreCmsProductsPartial.cs +++ b/CoreCms.Net.Model/Entities/Good/CoreCmsProductsPartial.cs @@ -150,5 +150,12 @@ [Display(Name = "鍟嗗搧鍒嗙被")] [SugarColumn(IsIgnore = true)] public string Category { get; set; } + + /// <summary> + /// 鍟嗗搧鍒嗙被ID + /// </summary> + [Display(Name = "鍟嗗搧鍒嗙被ID")] + [SugarColumn(IsIgnore = true)] + public int? CategoryID { get; set; } } } \ No newline at end of file diff --git a/CoreCms.Net.Repository/baifenbingfa/CoreCmsProductsRepository.cs b/CoreCms.Net.Repository/baifenbingfa/CoreCmsProductsRepository.cs index fcf8ddb..929e7c8 100644 --- a/CoreCms.Net.Repository/baifenbingfa/CoreCmsProductsRepository.cs +++ b/CoreCms.Net.Repository/baifenbingfa/CoreCmsProductsRepository.cs @@ -267,7 +267,7 @@ page = await DbClient.Queryable<CoreCmsGoods, CoreCmsProducts, CoreCmsGoodsCategory>((good, product, Category) => new JoinQueryInfos( JoinType.Inner, good.id == product.goodsId - , JoinType.Inner, good.goodsCategoryId == Category.id ) + , JoinType.Inner, good.goodsCategoryId == Category.id) ) .Select((good, product, Category) => new CoreCmsProducts { @@ -292,10 +292,11 @@ bn = good.bn, isMarketable = good.isMarketable, unit = good.unit, - distributionPrice = product.distributionPrice, + distributionPrice = product.distributionPrice, cutMoney = product.cutMoney, distributionCutMoney = product.distributionCutMoney, - Category = (SqlFunc.Subqueryable<CoreCmsGoodsCategory> ().Where(x=>x.id==Category.parentId).Select(x=>x.name)+"-"+ Category.name)?? Category.name, + CategoryID = Category.id, + Category = (SqlFunc.Subqueryable<CoreCmsGoodsCategory>().Where(x => x.id == Category.parentId).Select(x => x.name) + "-" + Category.name) ?? Category.name, }).With(SqlWith.NoLock) .MergeTable() .OrderByIF(orderByExpression != null, orderByExpression, orderByType) @@ -337,6 +338,7 @@ distributionPrice = product.distributionPrice, cutMoney = product.cutMoney, distributionCutMoney = product.distributionCutMoney, + CategoryID = Category.id, Category = (SqlFunc.Subqueryable<CoreCmsGoodsCategory>().Where(x => x.id == Category.parentId).Select(x => x.name) + "-" + Category.name) ?? Category.name, }) .MergeTable() @@ -397,6 +399,7 @@ distributionPrice = product.distributionPrice, cutMoney = product.cutMoney, distributionCutMoney = product.distributionCutMoney, + CategoryID = Category.id, Category = (SqlFunc.Subqueryable<CoreCmsGoodsCategory>().Where(x => x.id == Category.parentId).Select(x => x.name) + "-" + Category.name) ?? Category.name, }).With(SqlWith.NoLock) .MergeTable() @@ -439,6 +442,7 @@ distributionPrice = product.distributionPrice, cutMoney = product.cutMoney, distributionCutMoney = product.distributionCutMoney, + CategoryID = Category.id, Category = (SqlFunc.Subqueryable<CoreCmsGoodsCategory>().Where(x => x.id == Category.parentId).Select(x => x.name) + "-" + Category.name) ?? Category.name, }) .MergeTable() diff --git a/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs b/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs index ff01659..60c787d 100644 --- a/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs +++ b/CoreCms.Net.Services/baifenbingfa/BfbfComAPIService.cs @@ -32,7 +32,7 @@ var ListData= await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.isDelete == false).Select(x => new SearchUserData { Id = x.id, - name = x.mobile + "|" + x.userName + "|" + x.nickName, + name = x.mobile /*+ "|" + x.userName*/ + "|" + x.nickName, }).WithCache(50).ToListAsync(); if (string.IsNullOrEmpty(s)) @@ -58,5 +58,10 @@ return false; } + + public async Task<List<CoreCmsGoodsCategory>> GetGoodsCategory() + { + return await _unitOfWork.GetDbClient().Queryable<CoreCmsGoodsCategory>().Where(x=>x.isShow==true).WithCache(10).ToTreeAsync(x=>x.children, x=>x.parentId,0); + } } } diff --git a/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs b/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs index 8896388..fdef0d4 100644 --- a/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs +++ b/CoreCms.Net.Task/RefreshWeChatAccessTokenJob.cs @@ -142,6 +142,7 @@ if (!string.IsNullOrEmpty(_weChatOptions.WxOpenAppId) && !string.IsNullOrEmpty(_weChatOptions.WxOpenAppSecret)) { var entity = await _weChatAccessTokenServices.QueryByClauseAsync(p => p.appId == _weChatOptions.WxOpenAppId && p.appType == (int)GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken); + if (entity == null || entity.expireTimestamp <= DateTimeOffset.Now.ToUnixTimeSeconds()) { var client = _weChatApiHttpClientFactory.CreateWxOpenClient(); @@ -203,6 +204,18 @@ } else { + + + + var value= await _redisOperationRepository.Get<WeChatAccessToken>( + GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString()); + if (value == null) + { + //閲嶆柊璁剧疆key + await _redisOperationRepository.SetAsync( + GlobalEnumVars.AccessTokenEnum.WxOpenAccessToken.ToString(), entity, + TimeSpan.FromMinutes(120)); + } //鎻掑叆鏃ュ織 var model = new SysTaskLog { diff --git a/CoreCms.Net.Web.Admin/Controllers/Api/CommonAPIController.cs b/CoreCms.Net.Web.Admin/Controllers/Api/CommonAPIController.cs index 243ce07..ffc6957 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Api/CommonAPIController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Api/CommonAPIController.cs @@ -46,5 +46,30 @@ return ret; } + + + /// <summary> + /// 鑾峰彇鍟嗗搧鍒嗙被鍒楄〃 宸蹭笂鏋剁殑 + /// </summary> + [HttpPost] + [Description("鑾峰彇鍟嗗搧鍒嗙被鍒楄〃")] + [AllowAnonymous] + public async Task<AdminUiCallBack> GetGoodsCategory() + { + var ret = new AdminUiCallBack(); + var data = await _comapiservice.GetGoodsCategory(); + if (data != null) + { + ret.code = 0; + ret.data = data; + } + else + { + ret.msg = "璇诲彇鐢ㄦ埛鏁版嵁澶辫触"; + } + + return ret; } + +} } diff --git a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs index ae8e340..1e7836d 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Distribution/CoreCmsDistributionController.cs @@ -32,6 +32,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.CodeAnalysis.Operations; +using NPOI.SS.Formula.Functions; using SqlSugar; using ZstdSharp.Unsafe; @@ -437,6 +438,7 @@ } + await _coreCmsDistributionServices.InsertAsync(model); _unitOfWork.CommitTran(); @@ -738,11 +740,76 @@ jm.msg = GlobalConstVars.DataisNo; return jm; } + try + { + _unitOfWork.BeginTran(); + + //濡傛灉鏄彇娑堝鏍� - var bl = await _coreCmsDistributionServices.DeleteByIdAsync(entity.id); - jm.code = bl ? 0 : 1; - jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; - return jm; + var allConfigs = await _coreCmsSettingServices.GetConfigDictionaries(); + var kc = CommonHelper.GetConfigDictionary(allConfigs, SystemSettingConstVars.DictionaryUserGroupKey); + var group = await _userGradeServices.GetUserGradeByValueKey(kc); + var defgroup = await _userGradeServices.GetDefaultUserGrade(); + if (defgroup != null) + { + var olduser = await _userServices.QueryByIdAsync(model.userId); + if (olduser != null) + {//澶勭悊鐢ㄦ埛绛夌骇 + if (olduser.grade == group.id) + { + if (defgroup != null) + { + olduser.grade = defgroup.id; + } + else + { + + olduser.grade = 0; + } + + olduser.updataTime = DateTime.Now; + await _userServices.UpdateAsync(olduser); + + } + } + var store = await _coreCmsStoreServices.QueryByClauseAsync(x => x.userID == model.userId); + //澶勭悊搴楅摵 鍙栨秷宸叉湁搴楅摵鐨勪娇鑳� + if(store != null ) + + { + + + // var clerk= await _unitOfWork.GetDbClient().Queryable<CoreCmsClerk>().Where(x => x.storeId == store.id).ToListAsync(); + //鍒犻櫎搴楅摵鍛樺伐 + await _unitOfWork.GetDbClient().Deleteable<CoreCmsClerk>().Where(x=>x.storeId==store.id).ExecuteCommandAsync(); + //鍒犻櫎搴楅摵 + await _coreCmsStoreServices.DeleteByIdAsync(store.id); + + + + } + + + } + var bl = await _coreCmsDistributionServices.DeleteByIdAsync(entity.id); + + _unitOfWork.CommitTran(); + jm.code = bl ? 0 : 1; + jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure; + + return jm; + + } + catch (Exception) + { + + _unitOfWork.RollbackTran(); + jm.code = 1; + jm.msg = GlobalConstVars.DeleteFailure; + + return jm; + } + } @@ -817,5 +884,10 @@ } #endregion + + + + + } } \ No newline at end of file diff --git a/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/CoreCmsProductsController.cs b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/CoreCmsProductsController.cs index f4fe309..1b97ef6 100644 --- a/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/CoreCmsProductsController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/baifenbingfa/CoreCmsProductsController.cs @@ -32,6 +32,9 @@ using SqlSugar; using CoreCms.Net.Web.Admin.Infrastructure; using Microsoft.IdentityModel.Tokens; +using NPOI.SS.Formula.PTG; +using CoreCms.Net.IServices.baifenbingfa; +using CoreCms.Net.Services; namespace CoreCms.Net.Web.Admin.Controllers { @@ -47,21 +50,28 @@ { private readonly IWebHostEnvironment _webHostEnvironment; private readonly ICoreCmsbaifenProductsServices _CoreCmsProductsServices; + private readonly IBfbfComAPIService _fbfComAPIService; + private readonly ICoreCmsGoodsCategoryServices _coreCmsGoodsCategoryServices; /// <summary> /// 鏋勯�犲嚱鏁� ///</summary> public CoreCmsbaifenProductsController(IWebHostEnvironment webHostEnvironment ,ICoreCmsbaifenProductsServices CoreCmsProductsServices - ) + , IBfbfComAPIService bfbfComAPIService +, +ICoreCmsGoodsCategoryServices coreCmsGoodsCategoryServices) { _webHostEnvironment = webHostEnvironment; _CoreCmsProductsServices = CoreCmsProductsServices; + _fbfComAPIService = bfbfComAPIService; + _coreCmsGoodsCategoryServices= + _coreCmsGoodsCategoryServices = coreCmsGoodsCategoryServices; } #region 鑾峰彇鍒楄〃============================================================ // POST: Api/CoreCmsProducts/GetPageList - /// <summary> + /// <summary> /// 鑾峰彇鍒楄〃 /// </summary> /// <returns></returns> @@ -128,10 +138,10 @@ where = where.And(p => p.price == price); } //鍟嗗搧鍒嗙被 decimal - var Category = Request.Form["category"].FirstOrDefault(); - if (!string.IsNullOrEmpty(Category)) + var Category = Request.Form["categoryId"].FirstOrDefault().ToInt32OrDefault(); + if (Category>0) { - where = where.And(p => p.Category.Contains(Category)); + where = where.And(p => p.CategoryID== Category); } //璐у搧鎴愭湰浠� decimal var costprice = Request.Form["costprice"].FirstOrDefault().ObjectToDecimal(0); @@ -254,10 +264,13 @@ /// <returns></returns> [HttpPost] [Description("棣栭〉鏁版嵁")] - public AdminUiCallBack GetIndex() + public async Task< AdminUiCallBack> GetIndex() { //杩斿洖鏁版嵁 var jm = new AdminUiCallBack { code = 0 }; + + var categories = await _coreCmsGoodsCategoryServices.QueryListByClauseAsync(p => p.isShow, p => p.sort, OrderByType.Asc, true, true); + jm.data = GoodsHelper.GetTree(categories, false); return jm; } #endregion diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/corecmsproducts/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/corecmsproducts/index.html index aab9cc2..46a408c 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/corecmsproducts/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/corecmsproducts/index.html @@ -30,7 +30,8 @@ <div class="layui-inline"> <label class="layui-form-label" for="category">鍟嗗搧鍒嗙被</label> <div class="layui-input-inline"> - <input type="text" name="category" placeholder="璇疯緭鍏ュ晢鍝佸垎绫诲叧閿瓧" class="layui-input"> + + <div id="sel_category_ptindes555" class="ew-xmselect-tree" lay-reqText="璇烽�夋嫨鍟嗗搧鍒嗙被"></div> </div> </div> <div class="layui-inline"> @@ -200,8 +201,11 @@ //寮�鍚皟璇曟儏鍐典笅鑾峰彇鎺ュ彛璧嬪�兼暟鎹� if (debug) { console.log(d); } - indexData = d.data; - layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'], + indexData = d.data .data + + + if (debug) { console.log(indexData); } + layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper','xmSelect'], function () { var $ = layui.$ , admin = layui.admin @@ -210,6 +214,7 @@ , laydate = layui.laydate , setter = layui.setter , coreHelper = layui.coreHelper + ,xmSelect = layui.xmSelect , util = layui.util , view = layui.view; @@ -223,6 +228,7 @@ //鎵ц閲嶈浇 table.reloadData('LAY-app-CoreCmsbaifenProducts-tableBox',{ where: field }); }); + //鏁版嵁缁戝畾 table.render({ elem: '#LAY-app-CoreCmsbaifenProducts-tableBox', @@ -278,6 +284,27 @@ ] ] }); + + xmSelect.render({ + el: '#sel_category_ptindes555', + height: '250px', + data: indexData, + //initValue: mData ? [mData.parentId] : [], + //model: { label: { type: 'text' } }, + name: 'categoryId', + prop: { + name: 'title', + value: 'id' + }, + radio: true, + clickClose: true, + tree: { + show: true, + indent: 15, + strict: false, + expandedKeys: true + } + }); //鐩戝惉鎺掑簭浜嬩欢 table.on('sort(LAY-app-CoreCmsbaifenProducts-tableBox)', function(obj){ table.reloadData('LAY-app-CoreCmsbaifenProducts-tableBox', { diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/create.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/create.html index c472675..43ad385 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/create.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/create.html @@ -256,6 +256,10 @@ title: "灏忓崠閮�", id: 103, }, + { + title: "鍏朵粬", + id: 104, + }, ], click: function (obj) { this.elem.val(obj.title); diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/edit.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/edit.html index 35fc2fc..ef39d55 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/edit.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/edit.html @@ -484,6 +484,10 @@ title: "灏忓崠閮�", id: 103, }, + { + title: "鍏朵粬", + id: 104, + }, ], click: function (obj) { this.elem.val(obj.title); diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/index.html index beb40d1..b47519f 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/baifenbingfa/offlinedistributor/index.html @@ -419,6 +419,10 @@ title: "灏忓崠閮�", id: 103, }, + { + title: "鍏朵粬", + id: 104, + }, ], click: function (obj) { this.elem.val(obj.title); diff --git a/CoreCms.Net.Web.Admin/wwwroot/views/order/orders/index.html b/CoreCms.Net.Web.Admin/wwwroot/views/order/orders/index.html index 3ae3bee..a9fff6e 100644 --- a/CoreCms.Net.Web.Admin/wwwroot/views/order/orders/index.html +++ b/CoreCms.Net.Web.Admin/wwwroot/views/order/orders/index.html @@ -295,7 +295,7 @@ }, { field: 'orderAmount', title: '璁㈠崟鎬婚', width: 120, align: 'center', templet: '#orderAmount', totalRow: true }, { - field: 'item', title: '璐у搧', align: 'center', width: 330, templet: "#orderItems" + field: 'item', title: '璐у搧', align: 'center', width: 550, templet: "#orderItems" }, { field: 'orderAmount', @@ -378,7 +378,10 @@ templet: function (data) { for (var i = 0; i < d.data.shipStatus.length; i++) { if (data.shipStatus == d.data.shipStatus[i].value) { - return d.data.shipStatus[i].description; + if(d.data.shipStatus[i].description == "宸插彂璐�") + return "鈭�" + + return d.data.shipStatus[i].description; } } return ""; @@ -391,7 +394,9 @@ templet: function (data) { for (var i = 0; i < d.data.confirmStatus.length; i++) { if (data.confirmStatus == d.data.confirmStatus[i].value) { - return d.data.confirmStatus[i].description; + if(d.data.confirmStatus[i].description == "宸茬‘璁ゆ敹璐�") + return "鈭�" + return d.data.confirmStatus[i].description; } } return ""; @@ -1300,15 +1305,18 @@ <div class="order-min-table"> <table class="layui-table" lay-size="sm"> <colgroup> + + <col width="500"> <col width="40"> - <col width="200"> + <col width="300"> <col width="40"> <col width="40"> <col width="40"> </colgroup> <thead> <tr> - <th colspan="2" style="width: 200px;">璐у搧</th> + <th colspan="1" style="width: 400px;">鍟嗗搧鍚嶇О</th> + <th colspan="2" style="width: 300px;">璐у搧</th> <th style="width: 40px;">鏁伴噺</th> <th style="width: 40px;">鍗曚环</th> <th style="width: 40px;">浼樻儬</th> @@ -1317,7 +1325,11 @@ </thead> <tbody> {{# layui.each(d.items, function(index, item){ }} + <tr lay-tips="{{item.name}}"> + <td > + {{item.name}} + </td> <td> <a href="javascript:void(0);" onclick="layui.coreHelper.viewImage('{{item.imageUrl}}')"><image style="max-width: 30px; max-height: 30px;" src="{{item.imageUrl}}" /></a> </td> -- Gitblit v1.9.1