前端毕业设计选题之项目仓库管理系统

简介: 前端毕业设计选题之项目仓库管理系统

项目编号:BS-QD-009

一,环境介绍

数据库:Mysql: mysql5.7

开发技术:Vue+Nodejs

二,项目简介

本项目主要基于Vue+Nodejs开发实现了一款前端毕业设计,主要围绕项目仓库进行项目管理功能。主要包含用户管理、管理员管理、项目类型管理、项目信息管理、项目工单管理、项目提交管理等相关功能模块。

三,系统展示

用户登录

用户管理

业务模块管理

四,核心代码展示

var Controller = require("../core/controller.js");
/**
 * 管理后台
 */
class Admin extends Controller {
  /**
   * 构造函数
   * @param {Object} config 配置参数
   */
  constructor(config) {
    // 传参给父类构造函数
    super(
      Object.assign({
          // 选择的模板那路径模板
          tpl: "./admin/",
          // 选择的服务
          service: "admin",
        },
        config
      )
    );
  }
}
// 用户数,访问次数,营业额,消费人数统计,销售量,订单数
Admin.prototype.index = async function(ctx) {
  // 总用户数
  var user_count = await $.services["user"].count();
  // 总文章数
  var article_count = await $.services["article"].count();
  // 分类文章数
  var article_type_num = await $.services["article"].count_group({}, {
    groupby: "type"
  });
  // 最近7日注册用户
  var register_7day = await $.services["user"].date_comput({}, {
    date_key: "create_time",
    size: 7
  });
  // console.log(register_7day);
  // 最近7日订单量
  var order_7day = await $.services["order"].date_comput({}, {
    date_key: "create_time",
    size: 7
  });
  // console.log(order_7day);
  // 最近7日营业额
  var revenue_7day = await $.services["order"].date_comput({}, {
    date_key: "create_time",
    method: "sum",
    field: "price_count",
    size: 7
  });
  // console.log(revenue_7day);
  // 最近7日总销量
  var sales_7day = await $.services["order"].date_comput({}, {
    date_key: "create_time",
    method: "sum",
    field: "price_count",
    size: 7
  });
  // 商品分类销量
  var goods_type_sales = await $.services["goods"].sum_group({}, {
    groupby: "type",
    field: "sales"
  });
  // 模型传入
  var model = await this.model(ctx, {
    user_count,
    article_count,
    register_7day,
    order_7day,
    revenue_7day,
    sales_7day,
    goods_type_sales,
    article_type_num
  });
  return await ctx.render(this.config.tpl + "index", model);
};
module.exports = Admin;
var Controller = require("../core/controller.js");
/**
 * 首页
 */
class Index extends Controller {
  /**
   * 构造函数
   * @param {Object} config 配置参数
   */
  constructor(config) {
    // 传参给父类构造函数
    super(
      Object.assign(
        {
          // 选择的模板那路径模板
          tpl: "./",
          // 选择的服务
          service: "article",
        },
        config
      )
    );
  }
}
/**
 * 首页
 * @param {Object} ctx http请求上下文
 * @return {Object} 返回html页面
 */
Index.prototype.index = async function (ctx) {
  var query = ctx.request.query;
  var { field, page, size } = query;
  delete query.field;
  delete query.page;
  delete query.size;
  var list = await this.service.get_list(
    query,
    Object.assign({}, this.config, {
      field,
      page,
      size,
    })
  );
  var list_article_hot = await this.service.get_list(
    {},
    Object.assign({}, this.config, {
      field: "article_id,description,hits,create_time,author,title,img,url",
      page: 1,
      size: 10,
      orderby: "hits desc",
    })
  );
  var list_article_new = await this.service.get_list(
    {},
    Object.assign({}, this.config, {
      field: "article_id,description,hits,create_time,author,title,img,url",
      page: 1,
      size: 10,
      orderby: "create_time desc",
    })
  );
  var list_goods_sales = await $.services["goods"].get_list({},{orderby:"`sales` desc"});
  var list_goods_new = await $.services["goods"].get_list({},{orderby:"`create_time` desc"});
  var list_ad = await $.services["ad"].get_list({},{orderby:"`display` desc"});
  var list_link = await $.services["link"].get_list({},{orderby:"`display` desc"});
  var model = await this.model(ctx, {
    list,list_goods_sales,list_goods_new,list_article_hot,list_article_new,list_ad,list_link
  });
  return await ctx.render(this.config.tpl + "index", model);
};
module.exports = Index;
var Controller = require("../core/controller.js");
/**
 * 授权
 */
class Auth extends Controller {
  /**
   * 构造函数
   * @param {Object} config 配置参数
   */
  constructor(config) {
    // 传参给父类构造函数
    super(
      Object.assign({
          // 选择的模板那路径模板
          tpl: "./auth/",
          // 选择的服务
          service: "auth",
        },
        config
      )
    );
  }
}
module.exports = Auth;

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

相关文章
|
5天前
|
前端开发 Java 编译器
【前端学java】java基础练习缺少项目?看这篇文章就够了!(完结)
【8月更文挑战第11天】java基础练习缺少项目?看这篇文章就够了!(完结)
14 0
|
4天前
|
前端开发 JavaScript
在 Vue3 + ElementPlus 项目中使用 computed 实现前端静态分页
本文介绍了在Vue3 + ElementPlus项目中使用`computed`属性实现前端静态分页的方法,并提供了详细的示例代码和运行效果。
21 1
在 Vue3 + ElementPlus 项目中使用 computed 实现前端静态分页
|
4天前
|
前端开发 数据库
SpringBoot+Vue+token实现(表单+图片)上传、图片地址保存到数据库。上传图片保存位置到项目中的静态资源下、图片可以在前端回显(二))
这篇文章是关于如何在SpringBoot+Vue+token的环境下实现表单和图片上传的优化篇,主要改进是将图片保存位置从磁盘指定位置改为项目中的静态资源目录,使得图片资源可以跨环境访问,并在前端正确回显。
|
5天前
|
前端开发 Java 编译器
【前端学java】java基础练习缺少项目?看这篇文章就够了!(17)
【8月更文挑战第11天】java基础练习缺少项目?看这篇文章就够了!
11 0
【前端学java】java基础练习缺少项目?看这篇文章就够了!(17)
|
16天前
|
数据采集 资源调度 JavaScript
Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
【8月更文挑战第4天】Node.js 适合做高并发、I/O密集型项目、轻量级实时应用、前端构建工具、命令行工具以及网络爬虫和数据处理等项目
30 5
|
19天前
|
Web App开发 开发框架 编解码
在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理
在基于ABP框架的前端项目Vue&Element项目中采用电子签章处理文件和打印处理
|
19天前
|
开发框架 前端开发 JavaScript
在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理
在基于ABP框架的前端项目Vue&Element项目中采用日期格式处理,对比Moment.js和day.js的处理
|
19天前
|
开发框架 前端开发 JavaScript
在基于ABP框架的前端项目Vue&Element项目中采用电子签名的处理
在基于ABP框架的前端项目Vue&Element项目中采用电子签名的处理
|
1月前
|
前端开发 应用服务中间件 nginx
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
|
2月前
|
敏捷开发 缓存 前端开发
阿里云云效产品使用问题之流水线构建前端项目比较慢。该如何优化
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。