From d5927f5786ce3ed67e03dbe65377c4846a1d9074 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Sun, 9 Apr 2023 09:46:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/kc/kcGongkaike/KcGongkaike.api.ts | 72 ++++++ src/views/kc/kcGongkaike/KcGongkaike.data.ts | 238 ++++++++++++++++++ src/views/kc/kcGongkaike/KcGongkaikeList.vue | 215 ++++++++++++++++ .../components/KcGongkaikeForm.vue | 225 +++++++++++++++++ .../components/KcGongkaikeModal.vue | 75 ++++++ src/views/site/jingCaiGongKaiKe/index.vue | 81 +++++- 6 files changed, 893 insertions(+), 13 deletions(-) create mode 100644 src/views/kc/kcGongkaike/KcGongkaike.api.ts create mode 100644 src/views/kc/kcGongkaike/KcGongkaike.data.ts create mode 100644 src/views/kc/kcGongkaike/KcGongkaikeList.vue create mode 100644 src/views/kc/kcGongkaike/components/KcGongkaikeForm.vue create mode 100644 src/views/kc/kcGongkaike/components/KcGongkaikeModal.vue diff --git a/src/views/kc/kcGongkaike/KcGongkaike.api.ts b/src/views/kc/kcGongkaike/KcGongkaike.api.ts new file mode 100644 index 0000000..7f99000 --- /dev/null +++ b/src/views/kc/kcGongkaike/KcGongkaike.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/kcGongkaike/kcGongkaike/list', + save='/kcGongkaike/kcGongkaike/add', + edit='/kcGongkaike/kcGongkaike/edit', + deleteOne = '/kcGongkaike/kcGongkaike/delete', + deleteBatch = '/kcGongkaike/kcGongkaike/deleteBatch', + importExcel = '/kcGongkaike/kcGongkaike/importExcel', + exportXls = '/kcGongkaike/kcGongkaike/exportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} diff --git a/src/views/kc/kcGongkaike/KcGongkaike.data.ts b/src/views/kc/kcGongkaike/KcGongkaike.data.ts new file mode 100644 index 0000000..a824aca --- /dev/null +++ b/src/views/kc/kcGongkaike/KcGongkaike.data.ts @@ -0,0 +1,238 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '学院', + align: "center", + dataIndex: 'xy' + }, + { + title: '候选人', + align: "center", + dataIndex: 'hxr' + }, + { + title: '职称', + align: "center", + dataIndex: 'zc' + }, + { + title: '日期', + align: "center", + dataIndex: 'rq' + }, + { + title: '开始时间', + align: "center", + dataIndex: 'kssj' + }, + { + title: '结束时间', + align: "center", + dataIndex: 'jssj' + }, + { + title: '课程名称', + align: "center", + dataIndex: 'kcmc' + }, + { + title: '课堂主题', + align: "center", + dataIndex: 'ktzt' + }, + { + title: '课程链接', + align: "center", + dataIndex: 'kclj' + }, + { + title: '图片名称', + align: "center", + dataIndex: 'tpmc' + }, + { + title: '教师介绍链接', + align: "center", + dataIndex: 'jslj' + }, + { + title: '当前状态', + align: "center", + dataIndex: 'dqzt' + }, + { + title: '当前状态排序 1 正在上课 2公开课预告 3 已下课', + align: "center", + dataIndex: 'dqztpx_dictText' + }, + { + title: '是否显示 1 显示 0 不显示', + align: "center", + dataIndex: 'sfxs_dictText' + }, + { + title: '类别', + align: "center", + dataIndex: 'hxrlb' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '学院', + field: 'xy', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入学院!'}, + ]; + }, + }, + { + label: '候选人', + field: 'hxr', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入候选人!'}, + ]; + }, + }, + { + label: '职称', + field: 'zc', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入职称!'}, + ]; + }, + }, + { + label: '日期', + field: 'rq', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入日期!'}, + ]; + }, + }, + { + label: '开始时间', + field: 'kssj', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入开始时间!'}, + ]; + }, + }, + { + label: '结束时间', + field: 'jssj', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入结束时间!'}, + ]; + }, + }, + { + label: '课程名称', + field: 'kcmc', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入课程名称!'}, + ]; + }, + }, + { + label: '课堂主题', + field: 'ktzt', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入课堂主题!'}, + ]; + }, + }, + { + label: '课程链接', + field: 'kclj', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入课程链接!'}, + ]; + }, + }, + { + label: '图片名称', + field: 'tpmc', + component: 'Input', + }, + { + label: '教师介绍链接', + field: 'jslj', + component: 'Input', + }, + { + label: '当前状态', + field: 'dqzt', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入当前状态!'}, + ]; + }, + }, + { + label: '当前状态排序 1 正在上课 2公开课预告 3 已下课', + field: 'dqztpx', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "dqztpx" + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入当前状态排序 1 正在上课 2公开课预告 3 已下课!'}, + ]; + }, + }, + { + label: '是否显示 1 显示 0 不显示', + field: 'sfxs', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "sfxs" + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入是否显示 1 显示 0 不显示!'}, + ]; + }, + }, + { + label: '类别', + field: 'hxrlb', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/kcGongkaike/KcGongkaikeList.vue b/src/views/kc/kcGongkaike/KcGongkaikeList.vue new file mode 100644 index 0000000..a2857fb --- /dev/null +++ b/src/views/kc/kcGongkaike/KcGongkaikeList.vue @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + 新增 + 导出 + 导入 + + + + + + 删除 + + + + 批量操作 + + + + + + + + + + + + + + + + 无文件 + 下载 + + + + + + + + + + diff --git a/src/views/kc/kcGongkaike/components/KcGongkaikeForm.vue b/src/views/kc/kcGongkaike/components/KcGongkaikeForm.vue new file mode 100644 index 0000000..576682d --- /dev/null +++ b/src/views/kc/kcGongkaike/components/KcGongkaikeForm.vue @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/kc/kcGongkaike/components/KcGongkaikeModal.vue b/src/views/kc/kcGongkaike/components/KcGongkaikeModal.vue new file mode 100644 index 0000000..7e56558 --- /dev/null +++ b/src/views/kc/kcGongkaike/components/KcGongkaikeModal.vue @@ -0,0 +1,75 @@ + + + + + + + + + diff --git a/src/views/site/jingCaiGongKaiKe/index.vue b/src/views/site/jingCaiGongKaiKe/index.vue index f980915..7880f68 100644 --- a/src/views/site/jingCaiGongKaiKe/index.vue +++ b/src/views/site/jingCaiGongKaiKe/index.vue @@ -1,25 +1,30 @@ - 精彩公开课 + 精彩公开课 + 荟萃多学科优秀教师,展现多样化精彩教学 - - - 时间{{ item }} + + + + {{funSj(item.rq)}} {{item.kssj}}-{{item.jssj}} + - 公开课预告 - + 公开课预告 + + - - 名称 - 名称2 - 课的名称 - N人听课 - 进入课堂 + + {{item.hxr}} · {{item.hxrlb}} + {{item.zc}} {{item.xy}} + {{item.kcmc}} + 0人听课 + 进入课堂 + @@ -27,7 +32,57 @@ \ No newline at end of file