教学内容
- 课程介绍
- 公告
+ 课程介绍
+ 通知公告
教学单元内容
测验/作业
课程作业
- 课程测验
+ 课程测验
-
- 问卷调查
+
+ 教学工具
+ 问卷调查
+ 到课率识别
+
+
+ 教学资源库
+
-
- 资源库
-
-
- 工具
-
+
@@ -60,16 +65,23 @@
function getGzt(zytype){
- console.log(`🚀 ~ getGzt ~ type:`, zytype)
+ var param = {rwbh,xqxn,type};
+ // console.log(`🚀 ~ getGzt ~ type:`, zytype)
var href = "/zy/dqkcDqzy";
if(zytype=='dqzy'){
href = "/zy/dqkcDqzy";
- }else if(zytype=='dqwj'){
- href = "/zy/dqkcWenjuan";
+ }else if(zytype=='dcwj'){
+ href = "/zy/dcwjWenjuan";
}else if(zytype=='lszy'){
href = "/zy/dqkcLszy";
}else if(zytype=='gonggao'){
href = "/zy/tuGonggao";
+ }else if(zytype=='kcjs'){
+ href = "/zy/dqkcDetail";
+ }else if(zytype=='kcjc'){
+ href = "/zy/ceshiWenjuan";
+ }else if(zytype=='gongju'){
+ href = "/zy/dqkcGongju";
}
router.push({path:href,query: {rwbh,xqxn,type}});
@@ -93,7 +105,7 @@
#maxSite {
//最大宽度
max-width: 1070px;
- min-height: 750px;
+ min-height: 730px;
//居中
margin: 0 auto;
.rowGutter{
diff --git a/src/views/site/renKeJiaoCheng/index.vue b/src/views/site/renKeJiaoCheng/index.vue
index ca5e5f8..af548e4 100644
--- a/src/views/site/renKeJiaoCheng/index.vue
+++ b/src/views/site/renKeJiaoCheng/index.vue
@@ -1,8 +1,9 @@
- 任教课程
+ 任教课程
修改课程提醒
+ 全部课程
diff --git a/src/views/site/studentWdkc/studentMenu.vue b/src/views/site/studentWdkc/studentMenu.vue
index 2a8efaf..9faac68 100644
--- a/src/views/site/studentWdkc/studentMenu.vue
+++ b/src/views/site/studentWdkc/studentMenu.vue
@@ -9,27 +9,22 @@
>
课程介绍
- 教学大纲
- 常见问题
+ 课程介绍
+ 通知公告
+ 教学单元
-
- 公告
-
-
- 教学日历
-
测验/作业
- 当前作业
- 历史作业
+ 课程作业
+ 课程测验
- 课堂调查
+ 问卷调查
-
+
@@ -47,7 +42,7 @@
import headerPage from '/@/views/site/common/header.vue';
import footerPage from '/@/views/site/common/footer.vue';
import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue';
-
+
const maxClassName = ref({});
const selectedKeys = ref([]);
//当前路由信息
@@ -55,15 +50,21 @@
const { query } = unref(currentRoute);
const { rwbh,xqxn,type } = query;//获取传递参数
let router = useRouter();
-
-
+
+
function getGzt(zytype){
console.log(`🚀 ~ getGzt ~ type:`, zytype)
- var href = "/stuzy/dqkcDqzy";
+ var href = "";
if(zytype=='dqzy'){
href = "/stuzy/studentDqzy";
- }else if(zytype=='lszy'){
- href = "/stuzy/studentLszy";
+ }
+ // else if(zytype=='lszy'){
+ // href = "/stuzy/studentLszy";
+ // }
+ else if(zytype=='dcwj'){
+ href = "/stuzy/stuDcwjWenjuan";
+ }else if(zytype=='kcjc'){
+ href = "/stuzy/stuCeshiWenjuan";
}
router.push({path:href,query: {rwbh,xqxn,type}});
}
@@ -72,7 +73,7 @@
onMounted(() => {
console.log('rwbh:',rwbh);
});
-
+
\ No newline at end of file
+
diff --git a/src/views/system/loginmini/MiniLogin.vue b/src/views/system/loginmini/MiniLogin.vue
index 8548e3a..e7f527e 100644
--- a/src/views/system/loginmini/MiniLogin.vue
+++ b/src/views/system/loginmini/MiniLogin.vue
@@ -161,8 +161,8 @@
//账号登录表单字段
const formData = reactive({
inputCode: '',
- username: 'admin',
- password: '123456',
+ username: '',
+ password: '',
});
//手机登录表单字段
const phoneFormData = reactive({
diff --git a/src/views/zy/jiaoXueDanYuanNeiRong/index.vue b/src/views/zy/jiaoXueDanYuanNeiRong/index.vue
index 6243f93..c2e7fec 100644
--- a/src/views/zy/jiaoXueDanYuanNeiRong/index.vue
+++ b/src/views/zy/jiaoXueDanYuanNeiRong/index.vue
@@ -1,6 +1,10 @@
-
-
+
-
addOne
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 视频
- 文档
- 富文本
- 随堂测试
- 讨论
-
-
-
-
-
-
-
-
三级标题:
-
+
+
+
+
+
{{ one.sort }}一级标题:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ two.sort }}二级标题:
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -{{ three.richText }}-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- 确定
-
+
+
+
@@ -129,14 +165,20 @@
diff --git a/src/views/zy/zyCjwt/ZyCjwt.api.ts b/src/views/zy/zyCjwt/ZyCjwt.api.ts
new file mode 100644
index 0000000..ad1fc2a
--- /dev/null
+++ b/src/views/zy/zyCjwt/ZyCjwt.api.ts
@@ -0,0 +1,81 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/zyCjwt/zyCjwt/list',
+ save='/zyCjwt/zyCjwt/add',
+ edit='/zyCjwt/zyCjwt/edit',
+ deleteOne = '/zyCjwt/zyCjwt/delete',
+ deleteBatch = '/zyCjwt/zyCjwt/deleteBatch',
+ importExcel = '/zyCjwt/zyCjwt/importExcel',
+ exportXls = '/zyCjwt/zyCjwt/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) => {
+ createConfirm({
+ iconType: 'warning',
+ title: '确认删除',
+ content: '是否删除选中数据',
+ okText: '确认',
+ cancelText: '取消',
+ onOk: () => {
+ 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/zyCjwt/ZyCjwt.data.ts b/src/views/zy/zyCjwt/ZyCjwt.data.ts
new file mode 100644
index 0000000..9a7e847
--- /dev/null
+++ b/src/views/zy/zyCjwt/ZyCjwt.data.ts
@@ -0,0 +1,71 @@
+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: 'createTime',
+ align: "center",
+ dataIndex: 'createTime',
+ customRender:({text}) =>{
+ return !text?"":(text.length>10?text.substr(0,10):text);
+ },
+ },
+ {
+ title: '学期学年',
+ align: "center",
+ dataIndex: 'xqxn'
+ },
+ {
+ title: '问题',
+ align: "center",
+ dataIndex: 'question'
+ },
+ {
+ title: '答案',
+ align: "center",
+ dataIndex: 'answer'
+ },
+];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: "问题",
+ field: 'question',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '问题',
+ field: 'question',
+ component: 'InputTextArea',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入问题!'},
+ ];
+ },
+ },
+ {
+ label: '答案',
+ field: 'answer',
+ component: 'InputTextArea',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入答案!'},
+ ];
+ },
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/zy/zyInfo/ZyInfoList copy.vue b/src/views/zy/zyCjwt/ZyCjwtList.vue
similarity index 82%
rename from src/views/zy/zyInfo/ZyInfoList copy.vue
rename to src/views/zy/zyCjwt/ZyCjwtList.vue
index 5040a44..36bf4f2 100644
--- a/src/views/zy/zyInfo/ZyInfoList copy.vue
+++ b/src/views/zy/zyCjwt/ZyCjwtList.vue
@@ -5,27 +5,10 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -80,19 +63,18 @@
-
+
-
+
+
diff --git a/src/views/zy/zyCjwt/components/ZyCjwtModal.vue b/src/views/zy/zyCjwt/components/ZyCjwtModal.vue
new file mode 100644
index 0000000..14651c1
--- /dev/null
+++ b/src/views/zy/zyCjwt/components/ZyCjwtModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyGonggao/ZyGonggaoList.vue b/src/views/zy/zyGonggao/ZyGonggaoList.vue
index dba6986..3415603 100644
--- a/src/views/zy/zyGonggao/ZyGonggaoList.vue
+++ b/src/views/zy/zyGonggao/ZyGonggaoList.vue
@@ -1,5 +1,5 @@
-
+
-
+
@@ -53,7 +53,7 @@
+
+
diff --git a/src/views/zy/zyInfo/ZyInfoList.vue b/src/views/zy/zyInfo/ZyInfoList.vue
index aefd0b5..613f871 100644
--- a/src/views/zy/zyInfo/ZyInfoList.vue
+++ b/src/views/zy/zyInfo/ZyInfoList.vue
@@ -39,7 +39,7 @@
-
+
{{item.zyStatus_dictText}}
@@ -47,12 +47,14 @@
时间:{{item.startTime}} - {{item.endTime}}
{{item.xnxq}}
+ 未提交:{{item.wtjnum?item.wtjnum:0}}人;
已提交:{{item.ytjnum?item.ytjnum:0}}人
+
编辑
发布
详情
作业
- 上传
+
@@ -123,7 +125,6 @@
}else if(type == '1'){
return "background: #18a689";
}
-
}
/**
* 新增事件
@@ -189,7 +190,7 @@
var url = "/zyInfo/zyInfo/edit";
var params = {id:record.id,zyStatus:'1'};
defHttp.post({ url: url, params }).then((res) => {
- handleSuccess();
+ handleZySuccess(record.id);
});
}
});
@@ -202,6 +203,15 @@
function handleSuccess() {
reload()
}
+
+ function handleZySuccess(zyid){
+ setTimeout(()=>{handleSuccess()}, 1500);
+
+ var url = "/zyInfo/zyInfo/editStudent";
+ defHttp.get({ url: url, params:{id:zyid} }).then((res) => {
+ });
+
+ }
/**
diff --git a/src/views/zy/zyInfo/ZyInfoMainList.vue b/src/views/zy/zyInfo/ZyInfoMainList.vue
new file mode 100644
index 0000000..f5543ca
--- /dev/null
+++ b/src/views/zy/zyInfo/ZyInfoMainList.vue
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyInfoStudent/ZyInfoStudent.data.ts b/src/views/zy/zyInfoStudent/ZyInfoStudent.data.ts
index 1954b91..cb97f7a 100644
--- a/src/views/zy/zyInfoStudent/ZyInfoStudent.data.ts
+++ b/src/views/zy/zyInfoStudent/ZyInfoStudent.data.ts
@@ -20,17 +20,22 @@ export const columns: BasicColumn[] = [
dataIndex: 'createTime'
},
{
- title: '作业附件',
+ title: '评分',
align: "center",
- dataIndex: 'filePath',
- slots: { customRender: 'fileSlot' },
- },
- {
- title: '在线预览',
- align: "center",
- dataIndex: 'filePath',
- slots: { customRender: 'fileZxSlot' },
+ dataIndex: 'score'
},
+ // {
+ // title: '作业附件',
+ // align: "center",
+ // dataIndex: 'filePath',
+ // slots: { customRender: 'fileSlot' },
+ // },
+ // {
+ // title: '在线预览',
+ // align: "center",
+ // dataIndex: 'filePath',
+ // slots: { customRender: 'fileZxSlot' },
+ // },
{
title: '外网相似律',
align: "center",
diff --git a/src/views/zy/zyInfoStudent/ZyInfoStudentList.vue b/src/views/zy/zyInfoStudent/ZyInfoStudentList.vue
index aa2210c..c0f4085 100644
--- a/src/views/zy/zyInfoStudent/ZyInfoStudentList.vue
+++ b/src/views/zy/zyInfoStudent/ZyInfoStudentList.vue
@@ -48,6 +48,8 @@
+
+
@@ -61,12 +63,15 @@
import ZyInfoStudentModal from './components/ZyInfoStudentModal.vue'
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
+ import ZyInfoStudentScoreModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue'
+
const queryParam = ref
({});
const mainId = ref('');
const toggleSearchStatus = ref(false);
const registerModal = ref();
+ const registerScoreModal = ref();
//注册table数据
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
tableProps: {
@@ -76,7 +81,7 @@ import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
canResize:false,
useSearchForm: false,
actionColumn: {
- width: 120,
+ width: 220,
fixed: 'right',
},
beforeFetch: (params) => {
@@ -124,6 +129,11 @@ import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
registerModal.value.disableSubmit = false;
registerModal.value.edit(record);
}
+
+ function handleScore(record: Recordable) {
+ registerScoreModal.value.disableSubmit = false;
+ registerScoreModal.value.edit(record);
+ }
/**
* 详情
@@ -153,17 +163,61 @@ import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
function handleSuccess() {
reload();
}
+
+ function handleDown(record){
+ downloadFile(text);
+ }
/**
* 操作栏
*/
function getTableAction(record) {
- return [
+ if(record.filePath){
+ if(record.score){
+ var list = [
+ {
+ label: '详情',
+ onClick: handleDetail.bind(null, record),
+ },
+ {
+ label: '下载',
+ onClick: handleDown.bind(null, record),
+ },
+ {
+ label: '预览',
+ onClick: yulanFile.bind(null, record),
+ }];
+ return list;
+ }else{
+ var list = [
+ {
+ label: '评分',
+ onClick: handleScore.bind(null, record),
+ },
+ {
+ label: '详情',
+ onClick: handleDetail.bind(null, record),
+ },
+ {
+ label: '下载',
+ onClick: handleDown.bind(null, record),
+ },
+ {
+ label: '预览',
+ onClick: yulanFile.bind(null, record),
+ }];
+ return list;
+ }
+
+ }else{
+ var list = [
{
label: '详情',
onClick: handleDetail.bind(null, record),
- },
- ];
+ },];
+ return list;
+ }
+
}
/**
diff --git a/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue b/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue
new file mode 100644
index 0000000..5797352
--- /dev/null
+++ b/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreForm.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue b/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue
new file mode 100644
index 0000000..5d25f19
--- /dev/null
+++ b/src/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyJxdg/ZyJxdg.api.ts b/src/views/zy/zyJxdg/ZyJxdg.api.ts
new file mode 100644
index 0000000..08e4aec
--- /dev/null
+++ b/src/views/zy/zyJxdg/ZyJxdg.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/zyJxdg/zyJxdg/list',
+ save='/zyJxdg/zyJxdg/add',
+ edit='/zyJxdg/zyJxdg/edit',
+ deleteOne = '/zyJxdg/zyJxdg/delete',
+ deleteBatch = '/zyJxdg/zyJxdg/deleteBatch',
+ importExcel = '/zyJxdg/zyJxdg/importExcel',
+ exportXls = '/zyJxdg/zyJxdg/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/zyJxdg/ZyJxdg.data.ts b/src/views/zy/zyJxdg/ZyJxdg.data.ts
new file mode 100644
index 0000000..53bf7d2
--- /dev/null
+++ b/src/views/zy/zyJxdg/ZyJxdg.data.ts
@@ -0,0 +1,35 @@
+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: 'filePath',
+ slots: { customRender: 'fileSlot' },
+ },
+];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '附件',
+ field: 'filePath',
+ component: 'JUpload',
+ componentProps:{
+ },
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/zy/zyJxdg/ZyJxdgList.vue b/src/views/zy/zyJxdg/ZyJxdgList.vue
new file mode 100644
index 0000000..5a105d1
--- /dev/null
+++ b/src/views/zy/zyJxdg/ZyJxdgList.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyJxdg/ZyJxdg_menu_insert.sql b/src/views/zy/zyJxdg/ZyJxdg_menu_insert.sql
new file mode 100644
index 0000000..fde3a5e
--- /dev/null
+++ b/src/views/zy/zyJxdg/ZyJxdg_menu_insert.sql
@@ -0,0 +1,26 @@
+-- 注意:该页面对应的前台目录为views/zyJxdg文件夹下
+-- 如果你想更改到其他目录,请修改sql中component字段对应的值
+
+
+INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
+VALUES ('202405110931940070', NULL, '教学大纲', '/zyJxdg/zyJxdgList', 'zyJxdg/ZyJxdgList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0);
+
+-- 权限控制sql
+-- 新增
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('202405110931940071', '202405110931940070', '添加教学大纲', NULL, NULL, 0, NULL, NULL, 2, 'zyJxdg:zy_jxdg:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0, 0, '1', 0);
+-- 编辑
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('202405110931940072', '202405110931940070', '编辑教学大纲', NULL, NULL, 0, NULL, NULL, 2, 'zyJxdg:zy_jxdg:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0, 0, '1', 0);
+-- 删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('202405110931940073', '202405110931940070', '删除教学大纲', NULL, NULL, 0, NULL, NULL, 2, 'zyJxdg:zy_jxdg:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0, 0, '1', 0);
+-- 批量删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('202405110931940074', '202405110931940070', '批量删除教学大纲', NULL, NULL, 0, NULL, NULL, 2, 'zyJxdg:zy_jxdg:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0, 0, '1', 0);
+-- 导出excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('202405110931940075', '202405110931940070', '导出excel_教学大纲', NULL, NULL, 0, NULL, NULL, 2, 'zyJxdg:zy_jxdg:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0, 0, '1', 0);
+-- 导入excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('202405110931940076', '202405110931940070', '导入excel_教学大纲', NULL, NULL, 0, NULL, NULL, 2, 'zyJxdg:zy_jxdg:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-05-11 09:31:07', NULL, NULL, 0, 0, '1', 0);
\ No newline at end of file
diff --git a/src/views/zy/zyJxdg/components/ZyJxdgForm.vue b/src/views/zy/zyJxdg/components/ZyJxdgForm.vue
new file mode 100644
index 0000000..7c641f5
--- /dev/null
+++ b/src/views/zy/zyJxdg/components/ZyJxdgForm.vue
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/zy/zyJxdg/components/ZyJxdgModal.vue b/src/views/zy/zyJxdg/components/ZyJxdgModal.vue
new file mode 100644
index 0000000..e2638a5
--- /dev/null
+++ b/src/views/zy/zyJxdg/components/ZyJxdgModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+