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

免费做h5的网站网站系统建站

免费做h5的网站,网站系统建站,网站规划的基本原则,建协官网管理/教师端前端工作汇总education-admin#xff1a; 首先是登录注册页面的展示 管理员 首页 管理员登录后的首页如下图所示 管理员拥有所有的权限 课程管理 1、可以查看、修改、增添、删除课程列表内容 2、可以对课程资源进行操作 3、可以对课程的类别信息进行管理…管理/教师端前端工作汇总education-admin 首先是登录注册页面的展示 管理员 首页 管理员登录后的首页如下图所示 管理员拥有所有的权限 课程管理 1、可以查看、修改、增添、删除课程列表内容 2、可以对课程资源进行操作 3、可以对课程的类别信息进行管理课程类别支持三级索引 用户管理 1、可以对学员列表进行操作对学员进行增删改查 2、讲师列表同样 3、可以查看用户的登录日志包括用户的注册信息、登录IP等 权限管理 1、账号管理可以查看所有的系统用户也就是管理员以及教师并且可以对系统用户进行角色分配 2、角色管理可以为角色指定权限 3、菜单管理即对侧边栏的内容进行增删改查并进行层级管理 代码 api后端方法调用以course.js为例 import request from /utils/request import upload from /utils/upload;// 专区课程分页 export function zoneCoursePage(data) {return request({url: /course/admin/zone/course/page, method: post, data}) }// 专区课程修改 export function zoneCourseEdit(data) {return request.put(/course/admin/zone/course/edit, data) }// 专区课程保存 export function zoneCourseSave(data) {return request.post(/course/admin/zone/course/save, data) }// 专区课程修改 export function zoneCourseDelete(data) {return request.delete(/course/admin/zone/course/delete?id data.id, data) }// 专区分页 export function zonePage(data) {return request({url: /course/admin/zone/page, method: post, data}) }// 专区修改 export function zoneEdit(data) {return request.put(/course/admin/zone/edit, data) }// 专区保存 export function zoneSave(data) {return request.post(/course/admin/zone/save, data) }// 专区修改 export function zoneDelete(data) {return request.delete(/course/admin/zone/delete?id data.id, data) }// 分类列表 export function categoryList(data) {return request({url: /course/admin/category/list, method: post, data: data}) }// 分类修改 export function categoryEdit(data) {return request.put(/course/admin/category/edit, data) }// 分类保存 export function categorySave(data) {return request.post(/course/admin/category/save, data) }// 分类修改 export function categoryDelete(data) {return request.delete(/course/admin/category/delete?id data.id, data) }// 资源分页 export function resourcePage(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/resource/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 资源修改 export function resourceEdit(data) {return request.put(/course/admin/resource/edit, data) }// 资源保存 export function resourceSave(data) {return request.post(/course/admin/resource/save, data) }// 资源修改 export function resourceDelete(data) {return request.delete(/course/admin/resource/delete?id data.id, data) }// 课程章节分页 export function courseChapterPeriodPage(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/course/chapter/period/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 课程章节修改 export function courseChapterPeriodEdit(data) {return request.put(/course/admin/course/chapter/period/edit, data) }// 课程章节保存 export function courseChapterPeriodSave(data) {return request.post(/course/admin/course/chapter/period/save, data) }// 课程章节修改 export function courseChapterPeriodDelete(data) {return request.delete(/course/admin/course/chapter/period/delete?id data.id, data) }// 课程章分页 export function courseChapterPage(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/course/chapter/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 课程章修改 export function courseChapterEdit(data) {return request.put(/course/admin/course/chapter/edit, data) }// 课程章保存 export function courseChapterSave(data) {return request.post(/course/admin/course/chapter/save, data) }// 课程章修改 export function courseChapterDelete(data) {return request.delete(/course/admin/course/chapter/delete?id data.id, data) }// 课程分页 export function coursePage(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/course/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 课程修改 export function courseEdit(data) {return request.put(/course/admin/course/edit, data) }// 课程保存 export function courseSave(data) {return request.post(/course/admin/course/save, data) }// 课程修改 export function courseDelete(data) {return request.delete(/course/admin/course/delete?id data.id, data) }// 分页 export function userCourseRecord(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/user/course/record, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 分页 export function userStudyePage(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/user/study/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 课程评论 export function userCourseComment(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/user/course/comment/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }// 课程评论删除 export function courseCommentDelete(data) {return request.delete(/course/admin/user/course/comment/delete?id data.id, data) }// 课程收藏 export function userCourseCollect(params, pageCurrent 1, pageSize 20) {return request({url: /course/admin/user/course/collect/page, method: post, data: {pageCurrent: pageCurrent, pageSize: pageSize, ...params}}) }/*** 资源库添加* param data*/ export function resourceLibrarySave(data) {return upload({url: /resource/admin/material/save,method: post,data}) }/*** 素材信息预览* param data* returns {*}*/ export function resourceLibraryPreview(data) {return request({url: /resource/admin/material/preview,method: post,data}) }用户信息编辑 templateel-dialog :model-valuevisible :append-to-bodytrue :titleformModel.data.id ? 修改 : 添加 :width500 center closecloneDialogel-form refruleForm :modelformModel.data :rulesformModel.rules classdemo-ruleForm label-width80px submit.preventel-form-item classform-group label用户昵称 propnicknameel-input v-modelformModel.data.nickname maxlength100 show-word-limit/el-input/el-form-itemel-form-item label用户性别 propuserSexel-radio-group v-modelformModel.data.userSexel-radio v-foritem in userSexEnums :keyitem.code :labelitem.code{{ item.desc }}/el-radio/el-radio-group/el-form-itemel-form-item classform-group label用户年龄 propuserAgeel-input-number v-modelformModel.data.userAge maxlength500/el-input-number/el-form-itemel-form-item classform-group label备注 propremarkel-input v-modelformModel.data.remark maxlength100 show-word-limit/el-input/el-form-itemel-form-item classform-group label学号 propstudentNumberel-input v-modelformModel.data.studentNumber maxlength100 show-word-limit/el-input/el-form-itemel-form-item classform-group label学校 propschoolel-input v-modelformModel.data.school maxlength100 show-word-limit/el-input/el-form-item/el-formtemplate #footerspan classdialog-footerel-button clickcloneDialog()取消/el-buttonel-button typeprimary clickonSubmit()确定/el-button/span/template/el-dialog /templatescript import {ElMessage} from element-plus; import {defineComponent, onMounted, reactive, ref, toRefs, watch} from vue; import {usersEdit} from /api/user.js; import {useStore} from vuex;export default defineComponent({components: {},props: {modelValue: {type: Boolean,default: () {return false;}},form: {type: Object,default: () {return {};}}},emits: [update:modelValue, updateTable],setup(props, {emit}) {const visible ref(false);const ruleForm ref(null);const loading ref(false);let formModel reactive({data: {},rules: {//nickname: [{required: true, message: 请输入用户昵称, trigger: blur}]}});let {modelValue, form} toRefs(props);if (modelValue.value) {visible.value modelValue.value;}const state reactive({userSexEnums: {}});const store useStore();onMounted(() {store.dispatch(GetOpts, {enumName: UserSexEnum}).then((res) {state.userSexEnums res;});});// 弹窗是否要打开监控watch(modelValue, async(val) {visible.value val;});// form 数据监控watch(form, async(val) {formModel.data {...val};});const resetForm () {ruleForm[value].resetFields();formModel.data {};};const cloneDialog () {visible.value false;emit(update:modelValue, false);};const onSubmit () {if (loading.value true) {ElMessage({type: warning, message: 正在保存...});return;}ruleForm[value].validate(async(valid) {if (valid) {loading.value true;let d null;const data {...formModel.data};if (data.id) {d await usersEdit(data);} else {d await save(data);}if (d) {ElMessage({type: success, message: data.id ? 修改成功 : 保存成功});emit(updateTable, d);cloneDialog();}}loading.value false;});};return {...toRefs(state),visible,loading,formModel,ruleForm,cloneDialog,onSubmit};} }); /script 完整代码可见IDEA
http://www.w-s-a.com/news/301662/

相关文章:

  • 那个网站建设好动漫制作技术升本可以升什么专业
  • 网站建设企业响应式网站模板广西建设部投诉网站
  • app营销的特点wordpress优化方案
  • 静安网站建设公司如何编辑wordpress
  • 做网站的职位叫什么问题常州金坛网站建设
  • 保健品网站模板用jsp做的网站前后端交互
  • 网站带后台品牌网页设计图片
  • 保定清苑住房和城乡建设局网站分类信息网站程序
  • 可以做视频推广的网站选择大连网站建设
  • 在线网站开发网站在哪里
  • 建站的步骤上海快速优化排名
  • 招聘网站做一下要多少钱网站设计公司 国际
  • 巩义专业网站建设公司首选seo研究院
  • 大流量网站解决访问量友情链接如何添加
  • 教育网站建设网永康市住房和城乡建设局网站
  • 阿里巴巴官网网站django 做网站的代码
  • 网站建设 军报wordpress 订餐模板
  • 网站虚拟主机 会计处理石家庄站建设费用多少
  • 网站建设 服务内容 费用简述网站开发流程
  • 公司制作网站跟企业文化的关系空间制作网站
  • 浙江建设监理协会网站个人网站设计规划书
  • wordpress太卡了贵州seo推广
  • 企业介绍微网站怎么做的手机软件商城免费下载
  • 新手网站设计定价网站开发销售
  • 网站开发公司oa有没有找人做标书的网站
  • 传统门户网站有哪些人武部正规化建设
  • 台州网站制作方案免费无代码开发平台
  • 精通网站建设 pdf微盘学做电商的步骤
  • 想在网上做设计接单有没有网站找一个免费域名的网站
  • 湘潭市网站建设科技有限公司杭州网站建设(推荐乐云践新)