diff --git a/src/router/routes/modules/stuzy/stuzy.ts b/src/router/routes/modules/stuzy/stuzy.ts index bd0615e..74fe263 100644 --- a/src/router/routes/modules/stuzy/stuzy.ts +++ b/src/router/routes/modules/stuzy/stuzy.ts @@ -46,6 +46,14 @@ const stuzy: AppRouteModule = { }, component: () => import('/@/views/kc/zyJxdgBanben/ZyJxdgStudentList.vue'), }, + { + path: 'studentKczy', + name: 'studentKczy', + meta: { + title: '课程资源', + }, + component: () => import('/@/views/zy/zyZyxx/ZyZyxxStudentList.vue'), + }, { path: 'studentLszy', name: 'studentLszy', diff --git a/src/router/routes/modules/zy/zy.ts b/src/router/routes/modules/zy/zy.ts index 2bd3212..64c5994 100644 --- a/src/router/routes/modules/zy/zy.ts +++ b/src/router/routes/modules/zy/zy.ts @@ -135,6 +135,14 @@ const zuoye: AppRouteModule = { title: '教学大纲', }, }, + { + path: 'dqkcKczy', + name: 'dqkcKczy', + component: () => import('/@/views/zy/zyZyxx/ZyZyxxList.vue'), + meta: { + title: '教学大纲', + }, + }, ] } diff --git a/src/views/kc/wjxCswj/WjxCywjV2List.vue b/src/views/kc/wjxCswj/WjxCywjV2List.vue index a685eeb..717f7d3 100644 --- a/src/views/kc/wjxCswj/WjxCywjV2List.vue +++ b/src/views/kc/wjxCswj/WjxCywjV2List.vue @@ -1329,7 +1329,6 @@ function handleZycs() { score: '', rwbh: rwbh, xqxn: xqxn, - createBy: teano, atype: wjLeixing.value, }); } @@ -1363,7 +1362,7 @@ function handleDelZycs(index) { function handleSzzycs(val){ - defHttp.get({ url: '/zyInfo/zyInfo/zyzb', params: { rwbh, xqxn, teano, zyLeixing: '1' } }).then((res) => { + defHttp.get({ url: '/zyInfo/zyInfo/zyzb', params: { rwbh, xqxn, zyLeixing: '1' } }).then((res) => { console.log('😥', res); var list = res; for(var i = 0; i < list.length; i++){ diff --git a/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue b/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue index d820fe4..2d194f5 100644 --- a/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue +++ b/src/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue @@ -9,8 +9,10 @@ -
{{ title }}
+
{{ title }}
您不是此测验的学生,不能进行提交
+ +
@@ -151,6 +153,7 @@ import headerPage from '/@/views/site/common/header.vue'; import footerPage from '/@/views/site/common/footer.vue'; const title = ref(''); + const content = ref(''); const mainId = ref(''); const isShow = ref(false); const disabled = ref(false); @@ -268,6 +271,13 @@ onMounted(() => { } }); + + defHttp.get({ url: '/wjxWjxx/wjxWjxx/queryById', params: { id: cyid } }).then((res) => { + console.log('🎅11111111', res); + content.value = res.content + + }); + defHttp.get({ url: '/wjxWjxx/wjxWjxx/getSfxs', params: { id: cyid } }).then((res) => { console.log('🙂', res); var num = res.num; @@ -298,12 +308,10 @@ defineExpose({ color: rgba(0, 0, 0, 0.85); font-size: 14px; font-variant: tabular-nums; - line-height: 1.5715; list-style: none; font-feature-settings: tnum; display: inline-flex; align-items: baseline; - line-height: unset; cursor: pointer; width: 80%; } @@ -332,18 +340,15 @@ defineExpose({ background: #1ab394; } .ant-layout-footer { - line-height: 1.5; background: #fff; } .ant-layout-sider { color: #fff; - line-height: 120px; background: #3ba0e9; } .ant-layout-content { min-height: 120px; color: #000; - line-height: 120px; background: #f3f3f4; } .dictBox :deep(.ant-select) { diff --git a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcDetail.vue b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcDetail.vue index a60b20e..df0d1bb 100644 --- a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcDetail.vue +++ b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcDetail.vue @@ -320,7 +320,7 @@ function cjwtData() { defHttp .get({ url: '/zyCjwt/zyCjwt/list', - params: { pageSize: 3, pageNo: current.value, rwbh: rwbh, xqxn: xqxn, teano: teano, column: 'createTime', order: 'desc' }, + params: { pageSize: 3, pageNo: current.value, rwbh: rwbh, xqxn: xqxn, column: 'createTime', order: 'desc' }, }) .then((res) => { // console.log(`🚀 ~ defHttp.get ~ res:`, res) @@ -334,7 +334,7 @@ function cjwtData() { //获取课程简介和教学大纲内容 function getKcjsJxdg() { console.log(`🚀 ~111111111111111:`); - defHttp.get({ url: '/zyJxdg/zyJxdg/getKcjsJxdg', params: { rwbh: rwbh, xqxn: xqxn, teano: teano } }).then((res) => { + defHttp.get({ url: '/zyJxdg/zyJxdg/getKcjsJxdg', params: { rwbh: rwbh, xqxn: xqxn, } }).then((res) => { console.log(`🚀 ~2222222222222222:`, res); if (res) { jxdgInfo.value = res; @@ -346,7 +346,6 @@ function addKcjsHandle(type) { var model = jxdgInfo.value; model.rwbh = rwbh; model.xqxn = xqxn; - model.teano = teano; console.log(`🚀 ~ addKcjsHandle ~ model:`, model); if (model.id) { if (type == '1') { diff --git a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue index d7e824e..ccc9289 100644 --- a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue +++ b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue @@ -45,6 +45,10 @@ 课堂测验 + + + 课程资源 + @@ -180,6 +187,8 @@ function getGzt(zytype) { href = '/zy/dqkcQmzy'; }else if (zytype == 'jxdg') { href = '/zy/dqkcJxdg'; + }else if (zytype == 'kczy') { + href = '/zy/dqkcKczy'; } router.push({ path: href, query: { rwbh, xqxn, type, teano } }); diff --git a/src/views/site/studentWdkc/studentMenu.vue b/src/views/site/studentWdkc/studentMenu.vue index 1991ad9..5b78f05 100644 --- a/src/views/site/studentWdkc/studentMenu.vue +++ b/src/views/site/studentWdkc/studentMenu.vue @@ -21,12 +21,12 @@ 课程简介 - + 课程测验 + + + 课程资源 + @@ -75,6 +81,9 @@ 课程测验 + + 课程资源 + ',param); ZyInfoStudentModalPage.value.edit(param); } diff --git a/src/views/zy/zyInfo/ZyInfoQimoV2List.vue b/src/views/zy/zyInfo/ZyInfoQimoV2List.vue index eb85f12..2d8fec5 100644 --- a/src/views/zy/zyInfo/ZyInfoQimoV2List.vue +++ b/src/views/zy/zyInfo/ZyInfoQimoV2List.vue @@ -1596,7 +1596,7 @@ function reloadZy() { queryParamZy.value.pageSize = pageSize.value; queryParamZy.value.rwbh = rwbh; queryParamZy.value.xnxq = xqxn; - queryParamZy.value.teano = teano; + // queryParamZy.value.teano = teano; queryParamZy.value.zyLeixing = '1'; // queryParamZy.value.column = 'a.sort'; // queryParamZy.value.order = 'asc'; diff --git a/src/views/zy/zyInfo/ZyInfoV2List.vue b/src/views/zy/zyInfo/ZyInfoV2List.vue index edfb372..7d6c488 100644 --- a/src/views/zy/zyInfo/ZyInfoV2List.vue +++ b/src/views/zy/zyInfo/ZyInfoV2List.vue @@ -587,7 +587,7 @@ import JEditor from '/@/components/Form/src/jeecg/components/JEditor.vue'; import dayjs, { Dayjs } from 'dayjs'; import { useListPage } from '/@/hooks/system/useListPage'; import { newcolumns } from '/@/views/zy/zyInfoStudent/ZyInfoStudent.data'; -import { newlist, getExportUrl, batchFabu, batchKhcl } from '/@/views/zy/zyInfoStudent/ZyInfoStudent.api'; +import { getList2, getExportUrl, batchFabu, batchKhcl } from '/@/views/zy/zyInfoStudent/ZyInfoStudent.api'; import { downloadFile } from '/@/utils/common/renderUtils'; import { getFileAccessHttpUrl } from '/@/utils/common/compUtils'; import { useGlobSetting } from '/@/hooks/setting'; @@ -657,7 +657,7 @@ const pdfUrl = ref('/downPath/ylhpsf.pdf'); //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ tableProps: { - api: newlist, + api: getList2, columns: newcolumns, canResize: false, useSearchForm: false, @@ -1550,7 +1550,8 @@ function handleZyxx(record, type) { selectedRowKeys.value = []; console.log('🧟‍♀️', rowSelection); queryParam.value = {}; - queryParam.value.mainId = record.id; + queryParam.value.ywid = record.id; + queryParam.value.rwbh = rwbh; queryParam.value.queryType = type; reload(); } @@ -1648,7 +1649,7 @@ function reloadZy() { queryParamZy.value.pageSize = pageSize.value; queryParamZy.value.rwbh = rwbh; queryParamZy.value.xnxq = xqxn; - queryParamZy.value.teano = teano; + // queryParamZy.value.teano = teano; queryParamZy.value.zyLeixing = '0'; // queryParamZy.value.column = 'a.sort'; // queryParamZy.value.order = 'asc'; diff --git a/src/views/zy/zyInfoStudent/ZyInfoStudent.api.ts b/src/views/zy/zyInfoStudent/ZyInfoStudent.api.ts index 41d1ff2..6d735b8 100644 --- a/src/views/zy/zyInfoStudent/ZyInfoStudent.api.ts +++ b/src/views/zy/zyInfoStudent/ZyInfoStudent.api.ts @@ -5,6 +5,7 @@ const { createConfirm } = useMessage(); enum Api { list = '/zyInfoStudent/zyInfoStudent/list', + getList2 = '/zyInfoStudent/zyInfoStudent/getList2', stuList = '/zyInfo/zyInfo/stuList', cdxxlist = '/zyInfoStudent/zyInfoStudent/cdxxlist', stuKccyList = '/wjxWjxx/wjxWjxx/stuList', @@ -39,6 +40,7 @@ export const getImportUrl = Api.importExcel; */ export const list = (params) => defHttp.get({ url: Api.list, params }); export const newlist = (params) => defHttp.get({ url: Api.list, params }); +export const getList2 = (params) => defHttp.get({ url: Api.getList2, params }); export const stuList = (params) => defHttp.get({ url: Api.stuList, params }); export const stuKccyList = (params) => defHttp.get({ url: Api.stuKccyList, params }); export const cdxxlist = (params) => defHttp.get({ url: Api.cdxxlist, params }); diff --git a/src/views/zy/zyInfoStudent/components/ZyInfoStudentForm.vue b/src/views/zy/zyInfoStudent/components/ZyInfoStudentForm.vue index 1f50469..582d3b9 100644 --- a/src/views/zy/zyInfoStudent/components/ZyInfoStudentForm.vue +++ b/src/views/zy/zyInfoStudent/components/ZyInfoStudentForm.vue @@ -147,6 +147,7 @@ }); const formRef = ref(); const isYl = ref(false); + const stuId = ref(''); const useForm = Form.useForm; const emit = defineEmits(['register', 'ok','closeLoading']); const formData = reactive>({ @@ -251,6 +252,7 @@ function handleKcnr(kcnr) { */ function edit(record) { console.log(`🚀 ~ edit ~ record:`, record) + stuId.value = record.stuId; nextTick(() => { resetFields(); @@ -260,7 +262,7 @@ function handleKcnr(kcnr) { zyInfo.value = res; console.log(`🚀 ~ defHttp.get ~ zyInfo:`, zyInfo) - handleKcnr(zyInfo.value.kcnr) + // handleKcnr(zyInfo.value.kcnr) }); @@ -308,6 +310,8 @@ function handleKcnr(kcnr) { okText: '确认', cancelText: '取消', onOk: () => { + model.stuId = stuId.value; + model.mainId = zyInfo.value.id; zyscStu(model, isUpdate.value) .then((res) => { console.log(`🚀 ~ .then ~ res:`, res) diff --git a/src/views/zy/zyZyxx/ZyZyxx.api.ts b/src/views/zy/zyZyxx/ZyZyxx.api.ts new file mode 100644 index 0000000..74c7fb0 --- /dev/null +++ b/src/views/zy/zyZyxx/ZyZyxx.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/zyZyxx/zyZyxx/list', + save='/zyZyxx/zyZyxx/add', + edit='/zyZyxx/zyZyxx/edit', + deleteOne = '/zyZyxx/zyZyxx/delete', + deleteBatch = '/zyZyxx/zyZyxx/deleteBatch', + importExcel = '/zyZyxx/zyZyxx/importExcel', + exportXls = '/zyZyxx/zyZyxx/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/zy/zyZyxx/ZyZyxx.data.ts b/src/views/zy/zyZyxx/ZyZyxx.data.ts new file mode 100644 index 0000000..1c6710f --- /dev/null +++ b/src/views/zy/zyZyxx/ZyZyxx.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[] = [ + { + title: '标题', + align: "center", + dataIndex: 'title' + }, + { + title: '内容', + align: "center", + dataIndex: 'content' + }, + { + title: '资源', + align: "center", + dataIndex: 'filePath', + slots: { customRender: 'fileSlot' }, + }, + { + title: '是否发布', + align: "center", + dataIndex: 'sffb_dictText' + }, +]; + +//列表数据 +export const columns2: BasicColumn[] = [ + { + title: '标题', + align: "center", + dataIndex: 'title' + }, + { + title: '内容', + align: "center", + dataIndex: 'content' + }, + { + title: '资源', + align: "center", + dataIndex: 'filePath', + slots: { customRender: 'fileSlot' }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "标题", + field: 'title', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "是否发布", + field: 'sffb', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "yn" + }, + colProps: {span: 6}, + }, +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '标题', + field: 'title', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入标题!'}, + ]; + }, + }, + { + label: '内容', + field: 'content', + component: 'InputTextArea', + }, + { + label: '附件', + field: 'filePath', + component: 'JUpload', + componentProps:{ + }, + }, + { + label: '是否发布', + field: 'sffb', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "yn" + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/zy/zyZyxx/ZyZyxxList.vue b/src/views/zy/zyZyxx/ZyZyxxList.vue new file mode 100644 index 0000000..c834408 --- /dev/null +++ b/src/views/zy/zyZyxx/ZyZyxxList.vue @@ -0,0 +1,397 @@ + + + + + diff --git a/src/views/zy/zyZyxx/ZyZyxxStudentList.vue b/src/views/zy/zyZyxx/ZyZyxxStudentList.vue new file mode 100644 index 0000000..f0e919c --- /dev/null +++ b/src/views/zy/zyZyxx/ZyZyxxStudentList.vue @@ -0,0 +1,388 @@ + + + + + diff --git a/src/views/zy/zyZyxx/components/ZyZyxxForm.vue b/src/views/zy/zyZyxx/components/ZyZyxxForm.vue new file mode 100644 index 0000000..ea25db5 --- /dev/null +++ b/src/views/zy/zyZyxx/components/ZyZyxxForm.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/src/views/zy/zyZyxx/components/ZyZyxxModal.vue b/src/views/zy/zyZyxx/components/ZyZyxxModal.vue new file mode 100644 index 0000000..a41c3f8 --- /dev/null +++ b/src/views/zy/zyZyxx/components/ZyZyxxModal.vue @@ -0,0 +1,75 @@ + + + + +