From 08bf2a8f9876d66fe85067d66b767e001b938e7d Mon Sep 17 00:00:00 2001 From: bai <1643359946@qq.com> Date: Mon, 22 May 2023 20:37:15 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B45=E6=9C=8822=E6=97=A5=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/kc/KcCasusers/KcCasusers.api.ts | 72 ++++++ src/views/kc/KcCasusers/KcCasusers.data.ts | 137 ++++++++++ src/views/kc/KcCasusers/KcCasusersList.vue | 215 ++++++++++++++++ .../KcCasusers/components/KcCasusersForm.vue | 184 ++++++++++++++ .../KcCasusers/components/KcCasusersModal.vue | 75 ++++++ .../kcAssessidentity/KcAssessidentityList.vue | 18 +- .../kc/kcTkSfWh/components/kcTkSfWhForm.vue | 228 +++++++++++++++++ .../kc/kcTkSfWh/components/kcTkSfWhModal.vue | 75 ++++++ src/views/kc/kcTkSfWh/kcTkSfWh.api.ts | 79 ++++++ src/views/kc/kcTkSfWh/kcTkSfWh.data.ts | 107 ++++++++ src/views/kc/kcTkSfWh/kcTkSfWhList.vue | 236 ++++++++++++++++++ src/views/kc/kcTkSfWh/听课身份维护.md | 0 src/views/site/common/header.vue | 43 +++- src/views/site/index.vue | 9 +- src/views/site/jingCaiGongKaiKe/index.vue | 4 +- src/views/site/kxstkkt/index.vue | 8 +- src/views/site/renKeJiaoCheng/index.vue | 2 +- src/views/site/tingKeZuJi/index.vue | 8 +- src/views/site/yuYueKeCheng/index.vue | 2 +- 19 files changed, 1478 insertions(+), 24 deletions(-) create mode 100644 src/views/kc/KcCasusers/KcCasusers.api.ts create mode 100644 src/views/kc/KcCasusers/KcCasusers.data.ts create mode 100644 src/views/kc/KcCasusers/KcCasusersList.vue create mode 100644 src/views/kc/KcCasusers/components/KcCasusersForm.vue create mode 100644 src/views/kc/KcCasusers/components/KcCasusersModal.vue create mode 100644 src/views/kc/kcTkSfWh/components/kcTkSfWhForm.vue create mode 100644 src/views/kc/kcTkSfWh/components/kcTkSfWhModal.vue create mode 100644 src/views/kc/kcTkSfWh/kcTkSfWh.api.ts create mode 100644 src/views/kc/kcTkSfWh/kcTkSfWh.data.ts create mode 100644 src/views/kc/kcTkSfWh/kcTkSfWhList.vue create mode 100644 src/views/kc/kcTkSfWh/听课身份维护.md diff --git a/src/views/kc/KcCasusers/KcCasusers.api.ts b/src/views/kc/KcCasusers/KcCasusers.api.ts new file mode 100644 index 0000000..8775c25 --- /dev/null +++ b/src/views/kc/KcCasusers/KcCasusers.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/kcCasusers/kcCasusers/list', + save='/kcCasusers/kcCasusers/add', + edit='/kcCasusers/kcCasusers/edit', + deleteOne = '/kcCasusers/kcCasusers/delete', + deleteBatch = '/kcCasusers/kcCasusers/deleteBatch', + importExcel = '/kcCasusers/kcCasusers/importExcel', + exportXls = '/kcCasusers/kcCasusers/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/KcCasusers/KcCasusers.data.ts b/src/views/kc/KcCasusers/KcCasusers.data.ts new file mode 100644 index 0000000..ba1b227 --- /dev/null +++ b/src/views/kc/KcCasusers/KcCasusers.data.ts @@ -0,0 +1,137 @@ +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: 'collegecode' + }, + { + title: '学院', + align: "center", + dataIndex: 'college' + }, + { + title: '工号', + align: "center", + dataIndex: 'user' + }, + { + title: '姓名', + align: "center", + dataIndex: 'cn' + }, + { + title: '职务', + align: "center", + dataIndex: 'duties' + }, + { + title: '身份', + align: "center", + dataIndex: 'identity' + }, + { + title: '状态', + align: "center", + dataIndex: 'status' + }, + { + title: '职称', + align: "center", + dataIndex: 'zdxms' + }, + { + title: '职务名称', + align: "center", + dataIndex: 'zwmc' + }, + { + title: '职务代码', + align: "center", + dataIndex: 'zwdm' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '学院编码', + field: 'collegecode', + component: 'Input', + }, + { + label: '学院', + field: 'college', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入学院!'}, + ]; + }, + }, + { + label: '工号', + field: 'user', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入工号!'}, + ]; + }, + }, + { + label: '姓名', + field: 'cn', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入姓名!'}, + ]; + }, + }, + { + label: '职务', + field: 'duties', + component: 'Input', + }, + { + label: '身份', + field: 'identity', + component: 'Input', + }, + { + label: '状态', + field: 'status', + component: 'Input', + }, + { + label: '职称', + field: 'zdxms', + component: 'Input', + }, + { + label: '职务名称', + field: 'zwmc', + component: 'Input', + }, + { + label: '职务代码', + field: 'zwdm', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/KcCasusers/KcCasusersList.vue b/src/views/kc/KcCasusers/KcCasusersList.vue new file mode 100644 index 0000000..0773545 --- /dev/null +++ b/src/views/kc/KcCasusers/KcCasusersList.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/kc/KcCasusers/components/KcCasusersForm.vue b/src/views/kc/KcCasusers/components/KcCasusersForm.vue new file mode 100644 index 0000000..b973635 --- /dev/null +++ b/src/views/kc/KcCasusers/components/KcCasusersForm.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/views/kc/KcCasusers/components/KcCasusersModal.vue b/src/views/kc/KcCasusers/components/KcCasusersModal.vue new file mode 100644 index 0000000..d8033b7 --- /dev/null +++ b/src/views/kc/KcCasusers/components/KcCasusersModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/kcAssessidentity/KcAssessidentityList.vue b/src/views/kc/kcAssessidentity/KcAssessidentityList.vue index 9731e66..a9ceade 100644 --- a/src/views/kc/kcAssessidentity/KcAssessidentityList.vue +++ b/src/views/kc/kcAssessidentity/KcAssessidentityList.vue @@ -113,7 +113,7 @@ registerModal.value.disableSubmit = false; registerModal.value.add(); } - + /** * 编辑事件 */ @@ -121,7 +121,7 @@ registerModal.value.disableSubmit = false; registerModal.value.edit(record); } - + /** * 详情 */ @@ -129,28 +129,28 @@ registerModal.value.disableSubmit = true; registerModal.value.edit(record); } - + /** * 删除事件 */ async function handleDelete(record) { await deleteOne({ id: record.id }, handleSuccess); } - + /** * 批量删除事件 */ async function batchHandleDelete() { await batchDelete({ ids: selectedRowKeys.value }, handleSuccess); } - + /** * 成功回调 */ function handleSuccess() { (selectedRowKeys.value = []) && reload(); } - + /** * 操作栏 */ @@ -162,7 +162,7 @@ }, ]; } - + /** * 下拉操作栏 */ @@ -187,7 +187,7 @@ function searchQuery() { reload(); } - + /** * 重置 */ @@ -197,7 +197,7 @@ //刷新数据 reload(); } - + diff --git a/src/views/kc/kcTkSfWh/components/kcTkSfWhForm.vue b/src/views/kc/kcTkSfWh/components/kcTkSfWhForm.vue new file mode 100644 index 0000000..92ed843 --- /dev/null +++ b/src/views/kc/kcTkSfWh/components/kcTkSfWhForm.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/src/views/kc/kcTkSfWh/components/kcTkSfWhModal.vue b/src/views/kc/kcTkSfWh/components/kcTkSfWhModal.vue new file mode 100644 index 0000000..fdd7d25 --- /dev/null +++ b/src/views/kc/kcTkSfWh/components/kcTkSfWhModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/kcTkSfWh/kcTkSfWh.api.ts b/src/views/kc/kcTkSfWh/kcTkSfWh.api.ts new file mode 100644 index 0000000..01beb20 --- /dev/null +++ b/src/views/kc/kcTkSfWh/kcTkSfWh.api.ts @@ -0,0 +1,79 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/kcAssessuser/kcAssessuser/allList', + save='/kcAssessuser/kcAssessuser/addAll', + edit='/kcAssessuser/kcAssessuser/edit', + deleteOne = '/kcAssessuser/kcAssessuser//delete', + deleteBatch = '/kcAssessuser/kcAssessuser/deleteBatch', + importExcel = '/kcAssessuser/kcAssessuser/importExcel', + exportXls = '/kcAssessuser/kcAssessuser/exportXls', + findUserList = '/kcCasusers/kcCasusers/list', +} + +/** + * 导出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 + */ +export const findUserList = (params) => defHttp.get({ url: Api.findUserList, 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/kcTkSfWh/kcTkSfWh.data.ts b/src/views/kc/kcTkSfWh/kcTkSfWh.data.ts new file mode 100644 index 0000000..fbd137b --- /dev/null +++ b/src/views/kc/kcTkSfWh/kcTkSfWh.data.ts @@ -0,0 +1,107 @@ +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[] = [ + // 序号 + // 姓名 + // 工号 + // 所在单位 + // 职务 + // 一级听课身份 + // 二级听课身份 + // private String cn; + // private String user; + // private String college; + // private String zwmc; + + + { + title: '姓名', + align: "center", + dataIndex: 'cn', + // slots: { customRender: 'nullIsShow' }, + }, + { + title: '工号', + align: "center", + dataIndex: 'user', + // slots: { customRender: 'nullIsShow' }, + }, + { + title: '所在单位', + align: "center", + dataIndex: 'college', + // slots: { customRender: 'nullIsShow' }, + }, + { + title: '职务', + align: "center", + dataIndex: 'zwmc', + slots: { customRender: 'nullIsShow' }, + }, + + // { + // title: '听课身份代码', + // align: "center", + // dataIndex: 'assesscode' + // }, + { + title: '一级听课身份', + align: "center", + dataIndex: 'assess1', + slots: { customRender: 'nullIsShow' }, + }, + { + title: '二级听课身份', + align: "center", + dataIndex: 'assess2', + slots: { customRender: 'nullIsShow' }, + }, + // { + // title: '听课要求', + // align: "center", + // dataIndex: 'demand' + // }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '听课身份一级', + field: 'assessl1', + component: 'Input', + }, + { + label: '听课身份二级', + field: 'assessl2', + component: 'Input', + }, + { + label: '要求听课次数', + field: 'demand', + component: 'InputNumber', + }, + { + label: '身份编码', + field: 'assesscode', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入身份编码!'}, + ]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/kcTkSfWh/kcTkSfWhList.vue b/src/views/kc/kcTkSfWh/kcTkSfWhList.vue new file mode 100644 index 0000000..92961cf --- /dev/null +++ b/src/views/kc/kcTkSfWh/kcTkSfWhList.vue @@ -0,0 +1,236 @@ + + + + + diff --git a/src/views/kc/kcTkSfWh/听课身份维护.md b/src/views/kc/kcTkSfWh/听课身份维护.md new file mode 100644 index 0000000..e69de29 diff --git a/src/views/site/common/header.vue b/src/views/site/common/header.vue index 15a827a..c88cd4e 100644 --- a/src/views/site/common/header.vue +++ b/src/views/site/common/header.vue @@ -13,10 +13,17 @@ 意见反馈 +
 
+
听课足迹
+
任课教程
+
预约课程
+
精彩公开课
+
可线上听课课堂
+
今日课程列表
- {{ projectName }} + {{ projectName }} @@ -76,9 +83,31 @@ function toIndex(){ },1); } - function toTop(){ - let topNum = document.body.scrollTop; - smoothScroll(topNum); + function toTop(toId){ + let topNum = 0; + if(toId){ + let toDom: any = document?.querySelector('#' + toId); + + console.log(`🚀 ------------------------------------------------🚀`); + console.log(`🚀 ~ file: header.vue:91 ~ toTop ~ toDom:`, toDom); + console.log(`🚀 ------------------------------------------------🚀`); + + topNum = toDom?.offsetTop??0; + + console.log(`🚀 --------------------------------------------------🚀`); + console.log(`🚀 ~ file: header.vue:97 ~ toTop ~ topNum:`, topNum); + console.log(`🚀 --------------------------------------------------🚀`); + + }else{ + topNum = document.body.scrollTop; + smoothScroll(topNum); + } + } + + function toDom(toId){ + let toDom: any = document?.querySelector('#' + toId); + let topNum = toDom?.offsetTop??0; + document.body.scrollTop = topNum; } /** @@ -127,6 +156,12 @@ function toIndex(){ width: 4rem; line-height: 2.1rem; } + .topLinkTextEllipsis { + overflow:hidden; + white-space: nowrap; + text-overflow: ellipsis; + -o-text-overflow:ellipsis; + } } diff --git a/src/views/site/index.vue b/src/views/site/index.vue index 9b68365..5cc78b6 100644 --- a/src/views/site/index.vue +++ b/src/views/site/index.vue @@ -23,7 +23,14 @@ - + + + diff --git a/src/views/site/jingCaiGongKaiKe/index.vue b/src/views/site/jingCaiGongKaiKe/index.vue index 1237444..e26b619 100644 --- a/src/views/site/jingCaiGongKaiKe/index.vue +++ b/src/views/site/jingCaiGongKaiKe/index.vue @@ -1,5 +1,5 @@