前后端项目-part03

文章目录

      • 5.4.4 机构名称
        • 5.4.4.1 创建实体类Company
        • 5.4.4.2 创建实体类CompanyMapper
        • 5.4.4.3 创建实体类CompanyService
        • 5.4.4.4 创建实体类CompanyController
        • 5.4.4.5 后端测试
        • 5.4.4.6 修改basic.js
        • 5.4.4.7 修改course.vue
        • 5.4.4.8 测试
      • 5.4.5 课程标签
        • 5.4.5.1 效果
        • 5.4.5.2 修改course.vue
      • 5.4.6 课程图片上传
        • 5.4.6.1 前端开发
        • 5.4.6.2 后端开发
        • 5.4.6.3 测试
        • 5.4.6.4 补充
    • 6

5.4.4 机构名称

5.4.4.1 创建实体类Company
package com.zx.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Accessors(chain = true)
@TableName("tb_company")
public class Company {
   
    private Integer id;
    private String name;//名称
    private String orgType;//c机构 p个人
    private String phone;//联系方式
    private String linkname;//联系人名称
    private String handPhotos;//手持证件照
    private String address;//机构地址
    private String logo;//机构logo
    private String email;//邮箱
    private String promiseLetter;//承诺书
    private String trademarkPic;//商标注册证
    private String intro;//简介
    private String briefIntro;
    private String mainCategory;//主营类目
    private String identityPic;//身份证照片
    private String workType;//工具性质
    private String businessPic;//营业执照
    private Date businessTerm;//营业执照有效期
    private String businessRegistNo;//营业执照注册号
    private String eduCertImg;//教育资质/学历证书照片
    private String eduCertTerm;//教育资质证书有效期
    private String eduCertNo;//教育资质/学历编号
    private String approvalStatus;//审核状态
    private String approvalComment;//审批意见
    private String approvalPeople;//审批人
    private Date approvalDate;//审批日期
    private Integer approvalNums;//审核次数
    private String remark;//备注
    private Date createDate;
    private Date changeDate;
    private Integer tenantId;//租户ID
    private String idCard;//身份证号
    private String teacherCertImg;//教师资格证照片
    private String teacherCertNo;//教师资格证号码
    private Integer status;//状态
    private String majorCertImg;//专业证件照片
    private String majorCertNo;//专业证件号码
    private String workExperience;//教学工作经历
    private String workResults;//教学工作成果
    private String title;//机构名称
}

5.4.4.2 创建实体类CompanyMapper
package com.zx.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zx.system.entity.Company;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface CompanyMapper extends BaseMapper<Company> {
   
}

5.4.4.3 创建实体类CompanyService
package com.zx.system.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zx.system.entity.Company;
import com.zx.system.mapper.CompanyMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CompanyService extends ServiceImpl<CompanyMapper, Company> {
   
    @Autowired
    private CompanyMapper companyMapper;

    public List<Company> selectAll(){
   
        QueryWrapper qw = new QueryWrapper();
        qw.select("id","name","org_type","phone","linkname");//查询指定列
        qw.eq("status",1);//1正常0停用
        qw.orderByDesc("create_date");//倒序
        return companyMapper.selectList(qw);
    }

}

5.4.4.4 创建实体类CompanyController
package com.zx.system.controller;

import com.zx.system.entity.Company;
import com.zx.system.service.CompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/system/company")
public class CompanyController {
   
    @Autowired
    private CompanyService companyService;

    @GetMapping("/selectAll")
    public List<Company> selectAll(){
   
        return companyService.selectAll();
    }
}

5.4.4.5 后端测试

在这里插入图片描述

5.4.4.6 修改basic.js
// 课程管理CRUD
import axios from '../axios.js'

//获取分类信息
const zx_basic = 'http://localhost:9999/basic'

//去后台,获取所有分类的三级树
export const AllCategory = async ()=>{
   
	const res = await axios.get(zx_basic+"/category/getTree")
	return res
}

//去后台,获取一级分类
export const Level1Category = async ()=>{
   
	const res = await axios.get(zx_basic+"/category/level1Category")
	return res
}

//根据字典编号,获取字典信息
export const GetDict = async (code)=>{
   
	const res = await axios.get(zx_basic+"/dictionary/getDicItems/"+code)
	return res
}

//去后台//获取所有机构信息
const zx_system = 'http://localhost:8888/system'
export const GetCompany = async ()=>{
   
	const res = await axios.get(zx_system+"/company/selectAll")
	return res
}

5.4.4.7 修改course.vue
<template>
	<el-card shadow="always">
		<h3><el-icon><ElementPlus /></el-icon>课程管理</h3>
	
		<el-row style="padding:10px;" gutter="3">
			<el-col span="8">
				<el-button type="primary" size="small" @click="toAdd">
					<el-icon><CirclePlus /></el-icon>&nbsp;新增
				</el-button>
				<el-button v-if="multipleSelection.length" type="danger" size="small" @click="handlerMuchDel">删除多条</el-button>
			</el-col>
			<el-col span="16">
				<el-input size="small" v-model="searchName" placeholder="按课程名称搜索">
					<template #append><el-icon><Search/></el-icon></template>
				</el-input>
			</el-col>
		</el-row>
		
		<el-table :data="filterData" @selection-change="handleSelectionChange" border>
			<el-table-column prop="id" type="selection" width="55"></el-table-column>
			<el-table-column prop="planNum" label="计划数量" heder-align="center"></el-table-column>
			<el-table-column prop="companyName" label="公司名称" heder-align="center" ></el-table-column>
			<el-table-column prop="name" label="课程名称" heder-align="center"></el-table-column>
			<el-table-column prop="tags" label="课程标签" heder-align="center" ></el-table-column>
			<el-table-column prop="mtName" label="大分类名称" heder-align="center" ></el-table-column>
			<el-table-column prop="stName" label="小分类名称" heder-align="center" ></el-table-column>
			<el-table-column prop="grade" label="课程等级" heder-align="center" ></el-table-column>
			<el-table-column prop="teachmode" label="教学模式" heder-align="center" ></el-table-column>
			<el-table-column prop="auditStatus" label="审核状态" heder-align="center" ></el-table-column>
			<el-table-column prop="coursePubId" label="发布标识" heder-align="center" ></el-table-column>
			<el-table-column prop="price" label="课程单价" heder-align="center" ></el-table-column>
			<el-table-column prop="createDate" label="创建时间" :formatter="formatDate" align="center"/>
			<el-table-column prop="auditDate" label="审核时间" :formatter="formatDate" align="center"/>
			
			<el-table-column label="操作" align="center">
				<template #default="scope">
					<el-button @click="toEdit(scope.$index)" type="success" size="small"><el-icon><EditPen/></el-icon>修改</el-button>
					<el-button @click="handleDel(scope.row.id)" type="danger" size="small"><el-icon><Delete/></el-icon>删除</el-button>
					<el-button @click="handlePub(scope.row.id)" type="danger" size="small"><el-icon><Delete/></el-icon>发布</el-button>
					<el-button @click="handleDown(scope.row.id)" type="danger" size="small"><el-icon><Delete/></el-icon>下架</el-button>
				</template>
			</el-table-column>
		</el-table>
		
		<!-- 分页条 -->
		<div style="">
			<el-pagination :current-page="page.pageNum" :page-size="page.pageSize" :page-sizes="[5,10,50,100]"
				layout="total,sizes,prev,pager,next,jumper" :total="page.total" 
					@size-change="handleSizeChange" @current-change="handleCurrentChange">
			</el-pagination>
		</div>
	</el-card>
	
	<!-- 设置对话框 -->
	<el-dialog v-model="dialogVisible" draggable>
		<template #header>
			<h4><el-icon><Brush/></el-icon> {
  {dialogType==='add'?'新增':'修改'}}课程管理</h4>
		</template>
		
		<el-form :model="form.data" label-position="left" label-width="120px">
			<el-form-item label="机构名称">
				<el-select v-model="form.data.companyId" placeholder="请选择">
					<el-option v-for="item in companyOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
				</el-select>
			</el-form-item>
			<el-form-item label="课程名称">
				<el-input v-model="form.data.name" show-word-limit maxlength="100"></el-input>
			</el-form-item>
			<el-form-item label="适用人群">
				<el-input v-model="form.data.users" type="textarea"
							show-word-limit maxlength="500" :autosize="{minRows:2,maxRows:4}"></el-input>
			</el-form-item>
			
			<el-form-item label="课程标签">
				<el-input v-model="form.data.tags"></el-input>
			</el-form-item>
			
			<!-- 4个下拉框 -->
			<el-form-item label="一级分类">
				<el-select v-model="form.data.mt" placeholder="请选择">
					<el-option v-for="item in mtOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
				</el-select>
			</el-form-item>
			
			<el-form-item label="二级分类"><!-- 二级分类树 -->
				<el-select v-model="form.data.st" placeholder="请选择">
					<el-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/414607.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

golang学习5,glang的web的restful接口

1. //返回json r.GET("/getJson", controller.GetUserInfo) package mainimport (/*"net/http"*/"gin/src/main/controller""github.com/gin-gonic/gin" )func main() {r : gin.Default()r.GET("/get", func(ctx *…

【Linux系统化学习】信号概念和信号的产生

目录 信号的概念 从生活中的例子中感知信号 前台进程和后台进程 前台进程 后台进程 操作系统如何知道用户向键盘写入数据了&#xff1f; 进程如何得知自己收到了信号&#xff1f; 信号捕捉 signal函数 Core Dump&#xff08;核心转储&#xff09; 信号产生的方式 通…

如何选择合适的汽车芯片ERP系统?

随着汽车产业的飞速发展&#xff0c;汽车芯片作为关键组件&#xff0c;其管理变得愈发重要。为了高效管理汽车芯片的生产、销售、库存等各个环节&#xff0c;许多企业开始引入汽车芯片ERP(企业资源规划)系统。那么&#xff0c;如何选择合适的汽车芯片ERP系统呢? 明确需求是关键…

react-JSX基本使用

1.目标 能够知道什么是JSX 能够使用JSX创建React元素 能够在JSX中使用JS表达式 能够使用JSX的条件渲染和列表渲染 能够给JSX添加样式 2.目录 JSX的基本使用 JSX中使用JS表达式 JSX的条件渲染 JSX的列表渲染 JSX的样式处理 3.JSX的基本使用 3.1 createElement()的问题 A. …

小红书3C家电行业种草营销策略打法,纯干货

小红书作为国内种草营销的鼻祖&#xff0c;拥有庞大的年轻用户群体&#xff0c;特别是在3C家电行业&#xff0c;小红书的种草营销效应更是明显。据相关数据显示&#xff0c;小红书3C家电行业的用户关注度持续攀升&#xff0c;尤其是90后和00后&#xff0c;他们对新鲜事物的接受…

C# 学习第四弹——字符串

一、char类型的使用 字符使用单引号&#xff0c;单个字符 转义字符是一种特殊的字符变量&#xff0c;以反斜线开头&#xff0c;后跟一个或多个字符。 输出多级目录可以使用 二、字符串的声明和初始化 1、引用字符串常量 引用字符串常量初始化——字符使用单引号&#xff0…

基于springboot+vue的学科平台系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

幻兽帕鲁(Palworld 1.4.11.5.0)私有服务器搭建(docker版)

文章目录 说明客户端安装服务器部署1Panel安装和配置docker服务初始化设置设置开机自启动设置镜像加速 游戏服务端部署游戏服务端参数可视化配置 Palworld连接服务器问题总结 服务端升级&#xff08;1.5.0&#xff09; 说明 服务器硬件要求&#xff1a;Linux系统/Window系统&a…

数据中台:数字中国战略关键技术设施

目录 前言 为何要建设数据中台 数据中台建设痛点 数据中台学习资料 聚焦前沿&#xff0c;方法论体系更新 与时俱进&#xff0c;紧跟时代热点 深入6大行业&#xff0c;提炼实践精华 大咖推荐&#xff0c;数字化转型必备案头书 前言 在数字中国这一国家战略的牵引下&…

谷歌seo推广好还是竞价排名好?

事实上seo跟sem竞价并没有任何冲突&#xff0c;也并没有哪个更好的说法&#xff0c;关键在于理解它们各自的优势与局限性&#xff0c;并根据你的业务&#xff0c;预算来配合 Seo推广的优势在于成本&#xff0c;只要你的网站在搜索结果获得高排名&#xff0c;就能有源源不断的点…

水库安全监测方案(福建地区水库安全监测案例分享)

我司星创易联最近在福建省受到了一个水库安全监测系统项目的委托。该水库位于福建中部山区,作为该地区的重要防洪与供水工程,对下游数十万人的生活产生重大影响。但是因为水库附近地质情况复杂,水库大坝在多次洪水冲击下出现一定病害,亟须全面加强对水库大坝安全状况的监测,以确…

Linux零基础快速入门

Linux的诞生 Linux创始人:林纳斯 托瓦兹 Linux 诞生于1991年&#xff0c;作者上大学期间 因为创始人在上大学期间经常需要浏览新闻和处理邮件&#xff0c;发现现有的操作系统不好用,于是他决心自己写一个保护模式下的操作系统&#xff0c;这就是Linux的原型&#xff0c;当时他…

代码随想录算法训练营第35天 | 435. 无重叠区间 ,763.划分字母区间 , 56. 合并区间

贪心算法章节理论基础&#xff1a; https://programmercarl.com/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 435. 无重叠区间 题目链接&#xff1a;https://leetcode.cn/problems/non-overlapping-intervals/ 思路&#xff1a; 相信…

【算法与数据结构】复杂度深度解析(超详解)

文章目录 &#x1f4dd;算法效率&#x1f320; 算法的复杂度&#x1f320; 时间复杂度的概念&#x1f309;大O的渐进表示法。 &#x1f320;常见复杂度&#x1f320;常见时间复杂度计算举例&#x1f309;常数阶O(1)&#x1f309;对数阶 O(logN)&#x1f309;线性阶 O(N)&#x…

SpringMVC 学习(十)之异常处理

目录 1 异常处理介绍 2 通过 SimpleMappingExceptionResolver 实现 3 通过接口 HandlerExceptionResolver 实现 4 通过 ExceptionHandler 注解实现&#xff08;推荐&#xff09; 1 异常处理介绍 在 SpringMVC中&#xff0c;异常处理器&#xff08;Exceptio…

九州金榜|父亲在教育中的作用及重要性

随着社会进步&#xff0c;对比以前教育&#xff0c;现在父亲在教育中的作用越来越明显&#xff0c;孩子的教育离不开父亲&#xff0c;父亲在孩子教育中有什么作用&#xff1f;重要性又是什么呢&#xff1f;下面九州金榜家庭教育就带大家一起分析一下作为父亲&#xff0c;在孩子…

项目解决方案:海外门店视频汇聚方案(全球性的连锁店、国外连锁店视频接入和汇聚方案)

目 录 一、概述 二、建设目标及需求 2.1 建设目标 2.2 需求描述 2.3 需求分析 三、建设方案设计 3.1 系统方案拓扑图 3.2 方案描述 3.3 服务器配置推荐 四、产品功能 4.1 资源管理平台 &#xff08;1&#xff09;用户权限管理 &#xff08;2&#xff09…

pv、pvc

目录 1、什么是pv和pvc 2、pvc的使用逻辑 3、StorageClass 4、pv和pvc相互作用 5、pv的生命周期中&#xff0c;一般有几种状态&#xff1f; 6、一个pv从创建到销毁的流程 7、nfs使用pv和pvc 7.1、配置nfs存储 7.2这里定义5个PV&#xff0c;并且定义挂载的路径以及访问…

Tomcat配置私人共享

tomcat安装在公网IP为x.x.x.x的服务器上 tomcat安装 第一步&#xff0c;下载server-jre-8u202-linux-x64.tar.gz和apache-tomcat-8.5.95.tar.gz安装包。 登录地址&#xff1a;https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html下载server-jr…

Qt中的QGraphicView和QGraphicScene简单使用

概述&#xff1a;我们利用QGraphicView和QGraphicScene来实现一个简单的视频播放器&#xff0c;然后上面悬浮一些操作的控件&#xff0c;看看怎么来实现。 1、CcTestVideoPlayer类 模拟播放器类&#xff0c;继承QGraphicScene 1.1 CcTestVideoPlayer.h #pragma once#include…