当前位置: 首页 > news >正文

ShenNiusModularity项目源码学习(29:ShenNius.Admin.Mvc项目分析-14)

  商品列表页面用于搜索、新建、维护及删除商城系统模块的商品信息,包括商品名称、图片、规格、详情等数据。商品列表页面的后台控制器类GoodsController位于ShenNius.Admin.Mvc项目的Areas\Shop\Controllers内,页面文件位于同项目的Areas\Shop\Views\Goods内,其中Index.cshtml页面为主页面,Add.cshtml、Modify.cshtml页面分别用于新建和编辑商品信息,三个页面中调用的后台WebApi接口位于ShenNius.Admin.API项目的GoodsController,主要用到GetListPages(分页获取商品列表)、Add、Deletes、Modify、SoftDelete、AddSpec、UploadImg等函数。
在这里插入图片描述

  商品列表主页面的布局如下所示,最上方为搜索栏,中间为工具栏,下方显示商品数据表格。
在这里插入图片描述
  页面加载后,通过apiUtil.render函数调用WebApi函数GetListPages分页获取商品数据,搜索框的检索事件其实也是触发表格的重载操作(table.reload),并将检索条件传递给后台获取检索结果。专门设置商品名称列,点击该列可以触发编辑事件,点击商品图片列会另弹出页面查看大图。
在这里插入图片描述

  定义事件处理函数处理工具栏按钮点击事件及数据行中的按钮点击事件,添加和编辑按钮调用的分别是Add.cshtml、Modify.cshtml页面,而删除按钮的话,点击工具栏中的删除按钮,处理逻辑是将选中的记录软删除,后续还能在回收站中恢复,而点击数据行中的删除按钮,则是直接删除数据库中的数据,无法恢复。点击数据表格中的商品状态,会调用WebApi接口GoodsController.ChangeState函数更改商品状态。
在这里插入图片描述

  添加商品用的Add.cshtml页面,该页面使用开源富文本编辑器tinymce维护商品详情(设置调用WebApi接口GoodsController.UploadImg函数上传图片)。页面加载时调用common.js内的BindParentCategory函数,调用WebApi接口CategoryController.GetAllParentCategory获取多级商品分类列表填充下拉列表,通过在名称前加空格+"|–"表达分类;点击上传图片按钮,在imgUpload.js文件中调用ShenNius.Admin.API项目的GoodsController.MultipleUploadImg函数上传多个商品关联的图片文件,同时基于layui的上传组件进行图片预览;点击商品规格处的单规格和多规格单选框,会出现不同的编辑界面,专门定义goodsSpec.js文件处理多规格时的操作事件。点击确认保存按钮,基于JQuery和Layui获取待保存数据,然后调用WebApi接口Add函数新建商品。
在这里插入图片描述
在这里插入图片描述

  编辑商品用的Modify.cshtml页面,该页面与Add.cshtml类似,区别在于编辑页面需要根据当前商品数据初始化页面内容,同时点击确认保存按钮,基于JQuery和Layui获取待更新数据,然后调用WebApi接口Modify函数更新商品信息。
在这里插入图片描述

参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity

相关文章:

  • webpack的构建流程
  • 折半搜索【2024华为智联杯 K.时光】
  • 【C/C++】多线程开发:wait、sleep、yield全解析
  • (泛函分析)线性算子谱的定义,谱的分类,谱的性质。
  • 《算法导论(第4版)》阅读笔记:p127-p133
  • 【MySQL】表的内外连接
  • 笔记本电脑右下角wifi不显示,连不上网怎么办?
  • Perl单元测试实战指南:从Test::Class入门到精通的完整方案
  • LabVIEW直流电源输出与源测量功能
  • RabbitMQ 概述与安装
  • 前端如何播放flv视频
  • 基于音频Transformer与动作单元的多模态情绪识别算法设计与实现(在RAVDESS数据集上的应用)
  • Vue3的模块化设计: 使用Script Setup API
  • Vue 3.0中自定义Composition API
  • 基于python的机器学习(九)—— 评估算法(二)
  • axios报错: Uncaught ReferenceError: axios is not defined
  • 黑马点评双拦截器和Threadlocal实现原理
  • Java多线程编程最佳实践
  • Docker Swarm配置
  • 算法题:小红的子串
  • 杭州知名app技术开发公司/网站优化排名的方法
  • 做爰网站美女图片/业务员用什么软件找客户
  • 做网站推荐/为什么seo工资不高
  • 北京模板网站制作/关键词怎样做优化排名
  • 特色美食网站建设/如何做关键词优化
  • 公司做网站费用会计处理/石家庄网站建设培训