diff --git a/src/hooks/system/useMethods.ts b/src/hooks/system/useMethods.ts
index e46724b..9c1b274 100644
--- a/src/hooks/system/useMethods.ts
+++ b/src/hooks/system/useMethods.ts
@@ -78,7 +78,19 @@ export function useMethods() {
createMessage.error(fileInfo.message || `${data.file.name} 导入失败`);
//update-end---author:wangshuai ---date:20221121 for:[VUEN-2827]导入无权限,提示图标错误------------
} else {
- createMessage.success(fileInfo.message || `${data.file.name} 文件上传成功`);
+ // createMessage.success(fileInfo.message || `${data.file.name} 文件上传成功`);
+ // createMessage.success({
+ // content:`
${fileInfo.message}
`,
+ // style: {
+ // marginTop: '20vh',
+ // },
+ // });
+ createWarningModal({
+ centered: false,
+ content: `
+ ${fileInfo.message}
+
`,
+ });
}
} catch (error) {
console.log('导入的数据异常', error);
diff --git a/src/views/kc/kcZzThpjb/KcZzThpjb.api.ts b/src/views/kc/kcZzThpjb/KcZzThpjb.api.ts
new file mode 100644
index 0000000..52b5618
--- /dev/null
+++ b/src/views/kc/kcZzThpjb/KcZzThpjb.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/kcZzThpjb/kcZzThpjb/list',
+ save='/kcZzThpjb/kcZzThpjb/add',
+ edit='/kcZzThpjb/kcZzThpjb/edit',
+ deleteOne = '/kcZzThpjb/kcZzThpjb/delete',
+ deleteBatch = '/kcZzThpjb/kcZzThpjb/deleteBatch',
+ importExcel = '/kcZzThpjb/kcZzThpjb/importExcel',
+ exportXls = '/kcZzThpjb/kcZzThpjb/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/kcZzThpjb/KcZzThpjb.data.ts b/src/views/kc/kcZzThpjb/KcZzThpjb.data.ts
new file mode 100644
index 0000000..fc41cc7
--- /dev/null
+++ b/src/views/kc/kcZzThpjb/KcZzThpjb.data.ts
@@ -0,0 +1,229 @@
+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: 'kcbh'
+ },
+ {
+ title: '课程名称',
+ align: "center",
+ dataIndex: 'kcmc'
+ },
+ {
+ title: '授课教师',
+ align: "center",
+ dataIndex: 'skjs'
+ },
+ {
+ title: '授课时间',
+ align: "center",
+ dataIndex: 'sksj',
+ customRender:({text}) =>{
+ return !text?"":(text.length>10?text.substr(0,10):text);
+ },
+ },
+ {
+ title: '上课地点',
+ align: "center",
+ dataIndex: 'skdd'
+ },
+ {
+ title: '使用教材',
+ align: "center",
+ dataIndex: 'syjc'
+ },
+ {
+ title: '授课对象',
+ align: "center",
+ dataIndex: 'skdx'
+ },
+ {
+ title: '授课教授',
+ align: "center",
+ dataIndex: 'skjiaoshou'
+ },
+ {
+ title: '教学理解',
+ align: "center",
+ dataIndex: 'jxlj'
+ },
+ {
+ title: '教学态度',
+ align: "center",
+ dataIndex: 'jxtd'
+ },
+ {
+ title: '教学过程',
+ align: "center",
+ dataIndex: 'jxgc'
+ },
+ {
+ title: '教学效果',
+ align: "center",
+ dataIndex: 'jxxg'
+ },
+ {
+ title: '教学特殊',
+ align: "center",
+ dataIndex: 'jxts'
+ },
+ {
+ title: '总分',
+ align: "center",
+ dataIndex: 'zf'
+ },
+ {
+ title: '优点或建议',
+ align: "center",
+ dataIndex: 'ydhjy'
+ },
+ {
+ title: '评价时间',
+ align: "center",
+ sorter: true,
+ dataIndex: 'pjsj'
+ },
+];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: "课程编号",
+ field: 'kcbh',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "课程名称",
+ field: 'kcmc',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课教师",
+ field: 'skjs',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课时间",
+ field: 'sksj',
+ component: 'DatePicker',
+ colProps: {span: 6},
+ },
+ {
+ label: "上课地点",
+ field: 'skdd',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "评价时间",
+ field: 'pjsj',
+ component: 'DatePicker',
+ componentProps: {
+ showTime: true,
+ },
+ colProps: {span: 6},
+ },
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '课程编号',
+ field: 'kcbh',
+ component: 'Input',
+ },
+ {
+ label: '课程名称',
+ field: 'kcmc',
+ component: 'Input',
+ },
+ {
+ label: '授课教师',
+ field: 'skjs',
+ component: 'Input',
+ },
+ {
+ label: '授课时间',
+ field: 'sksj',
+ component: 'DatePicker',
+ },
+ {
+ label: '上课地点',
+ field: 'skdd',
+ component: 'Input',
+ },
+ {
+ label: '使用教材',
+ field: 'syjc',
+ component: 'Input',
+ },
+ {
+ label: '授课对象',
+ field: 'skdx',
+ component: 'Input',
+ },
+ {
+ label: '授课教授',
+ field: 'skjiaoshou',
+ component: 'Input',
+ },
+ {
+ label: '教学理解',
+ field: 'jxlj',
+ component: 'Input',
+ },
+ {
+ label: '教学态度',
+ field: 'jxtd',
+ component: 'Input',
+ },
+ {
+ label: '教学过程',
+ field: 'jxgc',
+ component: 'Input',
+ },
+ {
+ label: '教学效果',
+ field: 'jxxg',
+ component: 'Input',
+ },
+ {
+ label: '教学特殊',
+ field: 'jxts',
+ component: 'Input',
+ },
+ {
+ label: '总分',
+ field: 'zf',
+ component: 'Input',
+ },
+ {
+ label: '优点或建议',
+ field: 'ydhjy',
+ component: 'Input',
+ },
+ {
+ label: '评价时间',
+ field: 'pjsj',
+ component: 'DatePicker',
+ componentProps: {
+ showTime: true,
+ valueFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/kc/kcZzThpjb/KcZzThpjbList.vue b/src/views/kc/kcZzThpjb/KcZzThpjbList.vue
new file mode 100644
index 0000000..ef0d727
--- /dev/null
+++ b/src/views/kc/kcZzThpjb/KcZzThpjbList.vue
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzThpjb/components/KcZzThpjbForm.vue b/src/views/kc/kcZzThpjb/components/KcZzThpjbForm.vue
new file mode 100644
index 0000000..c955bfc
--- /dev/null
+++ b/src/views/kc/kcZzThpjb/components/KcZzThpjbForm.vue
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzThpjb/components/KcZzThpjbModal.vue b/src/views/kc/kcZzThpjb/components/KcZzThpjbModal.vue
new file mode 100644
index 0000000..3ffbe5e
--- /dev/null
+++ b/src/views/kc/kcZzThpjb/components/KcZzThpjbModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzXstkb/KcZzXstkb.api.ts b/src/views/kc/kcZzXstkb/KcZzXstkb.api.ts
new file mode 100644
index 0000000..e245cae
--- /dev/null
+++ b/src/views/kc/kcZzXstkb/KcZzXstkb.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/kcZzXstkb/kcZzXstkb/list',
+ save='/kcZzXstkb/kcZzXstkb/add',
+ edit='/kcZzXstkb/kcZzXstkb/edit',
+ deleteOne = '/kcZzXstkb/kcZzXstkb/delete',
+ deleteBatch = '/kcZzXstkb/kcZzXstkb/deleteBatch',
+ importExcel = '/kcZzXstkb/kcZzXstkb/importExcel',
+ exportXls = '/kcZzXstkb/kcZzXstkb/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/kcZzXstkb/KcZzXstkb.data.ts b/src/views/kc/kcZzXstkb/KcZzXstkb.data.ts
new file mode 100644
index 0000000..0914f31
--- /dev/null
+++ b/src/views/kc/kcZzXstkb/KcZzXstkb.data.ts
@@ -0,0 +1,300 @@
+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: 'kcbh'
+ },
+ {
+ title: '课程名称',
+ align: "center",
+ dataIndex: 'kcmc'
+ },
+ {
+ title: '授课教师',
+ align: "center",
+ dataIndex: 'skjs'
+ },
+ {
+ title: '授课时间',
+ align: "center",
+ dataIndex: 'sksj',
+ customRender:({text}) =>{
+ return !text?"":(text.length>10?text.substr(0,10):text);
+ },
+ },
+ {
+ title: '上课地点',
+ align: "center",
+ dataIndex: 'skdd'
+ },
+ {
+ title: '听课教师姓名',
+ align: "center",
+ dataIndex: 'tkjsxm'
+ },
+ {
+ title: '听课教师工号',
+ align: "center",
+ dataIndex: 'tkjsgh'
+ },
+ {
+ title: '听课时间',
+ align: "center",
+ dataIndex: 'tksj'
+ },
+ {
+ title: '1.声音和画面情况',
+ align: "center",
+ dataIndex: 'ans1_dictText'
+ },
+ {
+ title: '2.ppt等课件情况',
+ align: "center",
+ dataIndex: 'ans2_dictText'
+ },
+ {
+ title: '3.教师出镜情况',
+ align: "center",
+ dataIndex: 'ans3_dictText'
+ },
+ {
+ title: '4.教师仪态仪表方面',
+ align: "center",
+ dataIndex: 'ans4_dictText'
+ },
+ {
+ title: '5.教师所在环境情况',
+ align: "center",
+ dataIndex: 'ans5_dictText'
+ },
+ {
+ title: '6.学生出席情况',
+ align: "center",
+ dataIndex: 'ans6_dictText'
+ },
+ {
+ title: '7.课堂秩序情况',
+ align: "center",
+ dataIndex: 'ans7_dictText'
+ },
+ {
+ title: '8.课堂教学互动情况',
+ align: "center",
+ dataIndex: 'ans8_dictText'
+ },
+ {
+ title: '9.过程性评价情况',
+ align: "center",
+ dataIndex: 'ans9_dictText'
+ },
+ {
+ title: '总体评价',
+ align: "center",
+ dataIndex: 'ztpj_dictText'
+ },
+ {
+ title: '您认为课堂值得肯定的方面或者需要改进的方面',
+ align: "center",
+ dataIndex: 'pjnr'
+ },
+];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: "课程编号",
+ field: 'kcbh',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "课程名称",
+ field: 'kcmc',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课教师",
+ field: 'skjs',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课时间",
+ field: 'sksj',
+ component: 'DatePicker',
+ colProps: {span: 6},
+ },
+ {
+ label: "上课地点",
+ field: 'skdd',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "听课教师姓名",
+ field: 'tkjsxm',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "听课教师工号",
+ field: 'tkjsgh',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "听课时间",
+ field: 'tksj',
+ component: 'DatePicker',
+ componentProps: {
+ showTime: true,
+ },
+ colProps: {span: 6},
+ },
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '课程编号',
+ field: 'kcbh',
+ component: 'Input',
+ },
+ {
+ label: '课程名称',
+ field: 'kcmc',
+ component: 'Input',
+ },
+ {
+ label: '授课教师',
+ field: 'skjs',
+ component: 'Input',
+ },
+ {
+ label: '授课时间',
+ field: 'sksj',
+ component: 'DatePicker',
+ },
+ {
+ label: '上课地点',
+ field: 'skdd',
+ component: 'Input',
+ },
+ {
+ label: '听课教师姓名',
+ field: 'tkjsxm',
+ component: 'Input',
+ },
+ {
+ label: '听课教师工号',
+ field: 'tkjsgh',
+ component: 'Input',
+ },
+ {
+ label: '听课时间',
+ field: 'tksj',
+ component: 'DatePicker',
+ componentProps: {
+ showTime: true,
+ valueFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ },
+ {
+ label: '1.声音和画面情况',
+ field: 'ans1',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '2.ppt等课件情况',
+ field: 'ans2',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '3.教师出镜情况',
+ field: 'ans3',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '4.教师仪态仪表方面',
+ field: 'ans4',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '5.教师所在环境情况',
+ field: 'ans5',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '6.学生出席情况',
+ field: 'ans6',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '7.课堂秩序情况',
+ field: 'ans7',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '8.课堂教学互动情况',
+ field: 'ans8',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "fix_dict"
+ },
+ },
+ {
+ label: '9.过程性评价情况',
+ field: 'ans9',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "fix_dict"
+ },
+ },
+ {
+ label: '总体评价',
+ field: 'ztpj',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '您认为课堂值得肯定的方面或者需要改进的方面',
+ field: 'pjnr',
+ component: 'InputTextArea',
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/kc/kcZzXstkb/KcZzXstkbList.vue b/src/views/kc/kcZzXstkb/KcZzXstkbList.vue
new file mode 100644
index 0000000..94ef581
--- /dev/null
+++ b/src/views/kc/kcZzXstkb/KcZzXstkbList.vue
@@ -0,0 +1,269 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzXstkb/components/KcZzXstkbForm.vue b/src/views/kc/kcZzXstkb/components/KcZzXstkbForm.vue
new file mode 100644
index 0000000..5cf0c55
--- /dev/null
+++ b/src/views/kc/kcZzXstkb/components/KcZzXstkbForm.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzXstkb/components/KcZzXstkbModal.vue b/src/views/kc/kcZzXstkb/components/KcZzXstkbModal.vue
new file mode 100644
index 0000000..2ff2cfe
--- /dev/null
+++ b/src/views/kc/kcZzXstkb/components/KcZzXstkbModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzYbtkb/KcZzYbtkb.api.ts b/src/views/kc/kcZzYbtkb/KcZzYbtkb.api.ts
new file mode 100644
index 0000000..85ee9fc
--- /dev/null
+++ b/src/views/kc/kcZzYbtkb/KcZzYbtkb.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/kcZzYbtkb/kcZzYbtkb/list',
+ save='/kcZzYbtkb/kcZzYbtkb/add',
+ edit='/kcZzYbtkb/kcZzYbtkb/edit',
+ deleteOne = '/kcZzYbtkb/kcZzYbtkb/delete',
+ deleteBatch = '/kcZzYbtkb/kcZzYbtkb/deleteBatch',
+ importExcel = '/kcZzYbtkb/kcZzYbtkb/importExcel',
+ exportXls = '/kcZzYbtkb/kcZzYbtkb/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/kcZzYbtkb/KcZzYbtkb.data.ts b/src/views/kc/kcZzYbtkb/KcZzYbtkb.data.ts
new file mode 100644
index 0000000..09ef9fa
--- /dev/null
+++ b/src/views/kc/kcZzYbtkb/KcZzYbtkb.data.ts
@@ -0,0 +1,281 @@
+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: 'kcbh'
+ },
+ {
+ title: '课程名称',
+ align: "center",
+ dataIndex: 'kcmc'
+ },
+ {
+ title: '授课教师',
+ align: "center",
+ dataIndex: 'skjs'
+ },
+ {
+ title: '授课时间',
+ align: "center",
+ dataIndex: 'skrq',
+ customRender:({text}) =>{
+ return !text?"":(text.length>10?text.substr(0,10):text);
+ },
+ },
+ {
+ title: '上课地点',
+ align: "center",
+ dataIndex: 'skdd'
+ },
+ {
+ title: '听课教师编号',
+ align: "center",
+ dataIndex: 'tkjsbh'
+ },
+ {
+ title: '听课教师姓名',
+ align: "center",
+ dataIndex: 'tkjsxm'
+ },
+ {
+ title: '评课时间',
+ align: "center",
+ dataIndex: 'pksj'
+ },
+ {
+ title: '授课有启发性,能给予学生思考、联想、创造的启迪',
+ align: "center",
+ dataIndex: 'ans1_dictText'
+ },
+ {
+ title: '能有效利用各种教学媒体,课件或板书使用效果好',
+ align: "center",
+ dataIndex: 'ans2_dictText'
+ },
+ {
+ title: '仪表得体,按时上下课,严格要求学生',
+ align: "center",
+ dataIndex: 'ans3_dictText'
+ },
+ {
+ title: '讲课有热情,精神饱满,能调动学生情绪,课堂气氛活跃',
+ align: "center",
+ dataIndex: 'ans4_dictText'
+ },
+ {
+ title: '教学目标明确,内容丰富,重点突出,言语表达清楚。',
+ align: "center",
+ dataIndex: 'ans5_dictText'
+ },
+ {
+ title: '无迟到、早退、旷课现象',
+ align: "center",
+ dataIndex: 'ans6_dictText'
+ },
+ {
+ title: '课堂教学秩序好,无喧闹、打瞌睡、发短信、玩手机等现象',
+ align: "center",
+ dataIndex: 'ans7_dictText'
+ },
+ {
+ title: '上课认真听讲、积极思考、主动与老师交流互动',
+ align: "center",
+ dataIndex: 'ans8_dictText'
+ },
+ {
+ title: '课堂教学总体印象评价',
+ align: "center",
+ dataIndex: 'ans9_dictText'
+ },
+ {
+ title: '请填写对课堂内容以及其他方面的具体意见或建议',
+ align: "center",
+ dataIndex: 'ans10'
+ },
+];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: "课程编号",
+ field: 'kcbh',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "课程名称",
+ field: 'kcmc',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课教师",
+ field: 'skjs',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课时间",
+ field: 'skrq',
+ component: 'DatePicker',
+ colProps: {span: 6},
+ },
+ {
+ label: "听课教师编号",
+ field: 'tkjsbh',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "听课教师姓名",
+ field: 'tkjsxm',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "评课时间",
+ field: 'pksj',
+ component: 'DatePicker',
+ componentProps: {
+ showTime: true,
+ },
+ colProps: {span: 6},
+ },
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '课程编号',
+ field: 'kcbh',
+ component: 'Input',
+ },
+ {
+ label: '课程名称',
+ field: 'kcmc',
+ component: 'Input',
+ },
+ {
+ label: '授课教师',
+ field: 'skjs',
+ component: 'Input',
+ },
+ {
+ label: '授课时间',
+ field: 'skrq',
+ component: 'DatePicker',
+ },
+ {
+ label: '上课地点',
+ field: 'skdd',
+ component: 'Input',
+ },
+ {
+ label: '听课教师编号',
+ field: 'tkjsbh',
+ component: 'Input',
+ },
+ {
+ label: '听课教师姓名',
+ field: 'tkjsxm',
+ component: 'Input',
+ },
+ {
+ label: '评课时间',
+ field: 'pksj',
+ component: 'DatePicker',
+ componentProps: {
+ showTime: true,
+ valueFormat: 'YYYY-MM-DD HH:mm:ss'
+ },
+ },
+ {
+ label: '授课有启发性,能给予学生思考、联想、创造的启迪',
+ field: 'ans1',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '能有效利用各种教学媒体,课件或板书使用效果好',
+ field: 'ans2',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '仪表得体,按时上下课,严格要求学生',
+ field: 'ans3',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '讲课有热情,精神饱满,能调动学生情绪,课堂气氛活跃',
+ field: 'ans4',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '教学目标明确,内容丰富,重点突出,言语表达清楚。',
+ field: 'ans5',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '无迟到、早退、旷课现象',
+ field: 'ans6',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '课堂教学秩序好,无喧闹、打瞌睡、发短信、玩手机等现象',
+ field: 'ans7',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '上课认真听讲、积极思考、主动与老师交流互动',
+ field: 'ans8',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '课堂教学总体印象评价',
+ field: 'ans9',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "five_dict"
+ },
+ },
+ {
+ label: '请填写对课堂内容以及其他方面的具体意见或建议',
+ field: 'ans10',
+ component: 'InputTextArea',
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/kc/kcZzYbtkb/KcZzYbtkbList.vue b/src/views/kc/kcZzYbtkb/KcZzYbtkbList.vue
new file mode 100644
index 0000000..ba9f9c7
--- /dev/null
+++ b/src/views/kc/kcZzYbtkb/KcZzYbtkbList.vue
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+ 新增
+ 导出
+ 导入
+
+
+
+
+
+ 删除
+
+
+
+ 批量操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 无文件
+ 下载
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzYbtkb/components/KcZzYbtkbForm.vue b/src/views/kc/kcZzYbtkb/components/KcZzYbtkbForm.vue
new file mode 100644
index 0000000..701658d
--- /dev/null
+++ b/src/views/kc/kcZzYbtkb/components/KcZzYbtkbForm.vue
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/kcZzYbtkb/components/KcZzYbtkbModal.vue b/src/views/kc/kcZzYbtkb/components/KcZzYbtkbModal.vue
new file mode 100644
index 0000000..3b52023
--- /dev/null
+++ b/src/views/kc/kcZzYbtkb/components/KcZzYbtkbModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/KcKechengbiao.api.ts b/src/views/kc/szkc/KcKechengbiao.api.ts
new file mode 100644
index 0000000..9b5ee7e
--- /dev/null
+++ b/src/views/kc/szkc/KcKechengbiao.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/ktgl/kcKechengbiao/list',
+ save='/ktgl/kcKechengbiao/add',
+ edit='/ktgl/kcKechengbiao/edit',
+ deleteOne = '/ktgl/kcKechengbiao/delete',
+ deleteBatch = '/ktgl/kcKechengbiao/deleteBatch',
+ importExcel = '/ktgl/kcKechengbiao/importExcel',
+ exportXls = '/ktgl/kcKechengbiao/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/szkc/KcKechengbiao.data.ts b/src/views/kc/szkc/KcKechengbiao.data.ts
new file mode 100644
index 0000000..d152a09
--- /dev/null
+++ b/src/views/kc/szkc/KcKechengbiao.data.ts
@@ -0,0 +1,418 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+// import { render } from '/@/utils/common/renderUtils';
+import { JVxeColumn, JVxeTypes } from '/@/components/jeecg/JVxeTable/types';
+//列表数据
+
+export const columns = ([
+ {
+ title: '课程编号',
+ align: "left",
+ width: '300px',
+ key: 'kcbh',
+ },
+ {
+ title: '课程名称',
+ align: "left",
+ key: 'kcmc'
+ },
+ {
+ title: '授课教师',
+ align: "left",
+ key: 'skjs'
+ },
+ {
+ title: '学科人数',
+ align: "left",
+ width: '80px',
+ key: 'xkrs'
+ },
+ {
+ title: '开课单位',
+ align: "left",
+ width: '100px',
+ key: 'kkdw_dictText'
+ },
+ {
+ title: '课程性质',
+ align: "left",
+ width: '105px',
+ key: 'kcxz_dictText'
+ },
+ {
+ title: '上课地点',
+ align: "left",
+ width: '100px',
+ key: 'skdd'
+ },
+ {
+ title: '上课周次',
+ align: "left",
+ width: '100px',
+ key: 'jkzc_dictText'
+ },
+ {
+ title: '节次',
+ align: "left",
+ width: '70px',
+ key: 'hh_dictText'
+ },
+ {
+ title: '星期',
+ align: "left",
+ width: '70px',
+ key: 'week_dictText'
+ },
+ {
+ title: '学分',
+ align: "left",
+ width: '50px',
+ key: 'xf'
+ },
+ // {
+ // title: '操作',
+ // key: 'action',
+ // type: JVxeTypes.slot,
+ // align: 'center',
+ // slotName: 'myAction',
+ // },
+
+]);
+
+
+// export const columns: BasicColumn[] = [
+// {
+// title: 'id',
+// align: "center",
+// width: '0',
+// dataIndex: 'id',
+// // ifShow: false,
+// },
+// {
+// title: '课程号',
+// align: "center",
+// width: '300px',
+// dataIndex: 'kcbh'
+// },
+// {
+// title: '课程名称',
+// align: "center",
+// dataIndex: 'kcmc'
+// },
+// {
+// title: '授课教师',
+// align: "center",
+// dataIndex: 'skjs'
+// },
+// {
+// title: '学科人数',
+// align: "center",
+// width: '80px',
+// dataIndex: 'xkrs'
+// },
+// {
+// title: '开课单位',
+// align: "center",
+// width: '100px',
+// dataIndex: 'kkdw_dictText'
+// },
+// {
+// title: '课程性质',
+// align: "center",
+// width: '105px',
+// dataIndex: 'kcxz_dictText'
+// },
+// {
+// title: '上课地点',
+// align: "center",
+// width: '100px',
+// dataIndex: 'skdd'
+// },
+// {
+// title: '上课周次',
+// align: "center",
+// width: '100px',
+// dataIndex: 'jkzc_dictText'
+// },
+// {
+// title: '节次',
+// align: "center",
+// width: '70px',
+// dataIndex: 'hh_dictText'
+// },
+// {
+// title: '星期',
+// align: "center",
+// width: '70px',
+// dataIndex: 'week_dictText'
+// },
+// {
+// title: '学分',
+// align: "center",
+// width: '50px',
+// dataIndex: 'xf'
+// },
+// {
+// title: '是否出镜',
+// align: "center",
+// dataIndex: 'sfcj',
+// edit: true,
+// editComponent: 'Select',
+// // editComponentProps: {
+// // // //选中
+// // checkedChildren: "是-",
+// // // checkedValue: 0,
+// // // //未选中
+// // unCheckedChildren:'否-',
+// // // unCheckedValue: 1,
+// // // onClick: (checked: boolean | string | number, event: Event) => {
+// // // event.stopPropagation();
+// // // console.log('选择后回调',checked,event);
+
+// // // }
+// // },
+// // editValueMap: (value) => value == '0'?'是':'否',
+// // editValueMap: (value) => value?'0':'1',
+// // format: (text) => ,C
+// editComponentProps: {
+// options: [
+// { label: '是', value: 0, },
+// { label: '否', value: 1, },
+// ],
+// },
+// // customRender: (r) => r.text == 0?'是':'否'
+// },
+
+
+// {
+// title: '上课形式',
+// align: "center",
+// dataIndex: 'skxs',
+// edit: true,
+// editComponent: 'Select',
+// editComponentProps: {
+// options: [
+// { label: '线上', value: 0, },
+// { label: '线下', value: 1, },
+// { label: '线上线下混合', value: 2, },
+// ],
+// },
+// // customRender: (r) => r.text == 0?'线上':r.text == 1?'线下':'线上线下混合'
+// },
+// ];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: "课程名称",
+ field: 'kcmc',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课教师",
+ field: 'skjs',
+ component: 'JDictSelectTag',
+ componentProps:{
+ },
+ colProps: {span: 6},
+ },
+ {
+ label: "开课单位",
+ field: 'kkdw',
+ component: 'JDictSelectTag',
+ componentProps:{
+ },
+ colProps: {span: 6},
+ },
+ {
+ label: "课程性质",
+ field: 'kcxz',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "节次",
+ field: 'hh',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "skjc"
+ },
+ colProps: {span: 6},
+ },
+ {
+ label: "星期几",
+ field: 'week',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "week"
+ },
+ colProps: {span: 6},
+ },
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '课程编号',
+ field: 'kcbh',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入课程编号!'},
+ {...rules.duplicateCheckRule('kc_kechengbiao', 'kcbh',model,schema)[0]},
+ ];
+ },
+ },
+ {
+ label: '课程名称',
+ field: 'kcmc',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入课程名称!'},
+ ];
+ },
+ },
+ {
+ label: '授课教师',
+ field: 'skjs',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: ""
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入授课教师!'},
+ ];
+ },
+ },
+ {
+ label: '学科人数',
+ field: 'xkrs',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入学科人数!'},
+ ];
+ },
+ },
+ {
+ label: '开课单位',
+ field: 'kkdw',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: ""
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入开课单位!'},
+ ];
+ },
+ },
+ {
+ label: '课程性质',
+ field: 'kcxz',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入课程性质!'},
+ ];
+ },
+ },
+ {
+ label: '上课地点',
+ field: 'skdd',
+ component: 'Input',
+ },
+ {
+ label: '上课周次',
+ field: 'jkzc',
+ component: 'JSelectMultiple',
+ componentProps:{
+ dictCode: "skzc"
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入上课周次!'},
+ ];
+ },
+ },
+ {
+ label: '节次',
+ field: 'hh',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "skjc"
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入节次!'},
+ ];
+ },
+ },
+ {
+ label: '星期几',
+ field: 'week',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "week"
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入星期几!'},
+ ];
+ },
+ },
+ {
+ label: '直播方式',
+ field: 'zbfs',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "skpt"
+ },
+ },
+ {
+ label: '会议号',
+ field: 'hyh',
+ component: 'Input',
+ },
+ {
+ label: '会议密码',
+ field: 'hymm',
+ component: 'Input',
+ },
+ {
+ label: '课程链接',
+ field: 'kclj',
+ component: 'Input',
+ },
+ {
+ label: '学分',
+ field: 'xf',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入学分!'},
+ ];
+ },
+ },
+ {
+ label: '是否出镜,0-出镜,1-不出镜',
+ field: 'sfcj',
+ component: 'InputNumber',
+ },
+ {
+ label: '上课形式,0-线上,1-线下,2-线上线下混合',
+ field: 'skxs',
+ component: 'InputNumber',
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/kc/szkc/KcKechengbiaoList.vue b/src/views/kc/szkc/KcKechengbiaoList.vue
new file mode 100644
index 0000000..696afe1
--- /dev/null
+++ b/src/views/kc/szkc/KcKechengbiaoList.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+
+
+ 新增
+ 移除
+
+
+
+
+
+
+ 移除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/components/KcKechengbiaoForm.vue b/src/views/kc/szkc/components/KcKechengbiaoForm.vue
new file mode 100644
index 0000000..33faafd
--- /dev/null
+++ b/src/views/kc/szkc/components/KcKechengbiaoForm.vue
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/components/KcKechengbiaoModal.vue b/src/views/kc/szkc/components/KcKechengbiaoModal.vue
new file mode 100644
index 0000000..6d42e3a
--- /dev/null
+++ b/src/views/kc/szkc/components/KcKechengbiaoModal.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/components/XzKechengbiao.api.ts b/src/views/kc/szkc/components/XzKechengbiao.api.ts
new file mode 100644
index 0000000..31abb7b
--- /dev/null
+++ b/src/views/kc/szkc/components/XzKechengbiao.api.ts
@@ -0,0 +1,72 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from "/@/hooks/web/useMessage";
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/ktgl/kcKechengbiao/listGroupBy',
+ save='/ktgl/kcKechengbiao/editYichu',
+ edit='/ktgl/kcKechengbiao/editSzkc',
+ deleteOne = '/ktgl/kcKechengbiao/delete',
+ deleteBatch = '/ktgl/kcKechengbiao/deleteBatch',
+ importExcel = '/ktgl/kcKechengbiao/importExcel',
+ exportXls = '/ktgl/kcKechengbiao/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/szkc/components/XzKechengbiao.data.ts b/src/views/kc/szkc/components/XzKechengbiao.data.ts
new file mode 100644
index 0000000..4603063
--- /dev/null
+++ b/src/views/kc/szkc/components/XzKechengbiao.data.ts
@@ -0,0 +1,381 @@
+import {BasicColumn} from '/@/components/Table';
+import {FormSchema} from '/@/components/Table';
+import { rules} from '/@/utils/helper/validator';
+// import { render } from '/@/utils/common/renderUtils';
+import { JVxeColumn, JVxeTypes } from '/@/components/jeecg/JVxeTable/types';
+//列表数据
+
+export const columns = ([
+ {
+ title: '课程编号',
+ align: "left",
+ width: '300px',
+ key: 'kcbh',
+ },
+ {
+ title: '课程名称',
+ align: "left",
+ key: 'kcmc'
+ },
+ // {
+ // title: '授课教师',
+ // align: "left",
+ // key: 'skjs'
+ // },
+ {
+ title: '开课单位',
+ align: "left",
+ width: '100px',
+ key: 'kkdw'
+ },
+ {
+ title: '课程性质',
+ align: "left",
+ width: '105px',
+ key: 'kcxz_dictText'
+ },
+ // {
+ // title: '上课地点',
+ // align: "left",
+ // width: '100px',
+ // key: 'skdd'
+ // },
+
+]);
+
+
+// export const columns: BasicColumn[] = [
+// {
+// title: 'id',
+// align: "center",
+// width: '0',
+// dataIndex: 'id',
+// // ifShow: false,
+// },
+// {
+// title: '课程号',
+// align: "center",
+// width: '300px',
+// dataIndex: 'kcbh'
+// },
+// {
+// title: '课程名称',
+// align: "center",
+// dataIndex: 'kcmc'
+// },
+// {
+// title: '授课教师',
+// align: "center",
+// dataIndex: 'skjs'
+// },
+// {
+// title: '学科人数',
+// align: "center",
+// width: '80px',
+// dataIndex: 'xkrs'
+// },
+// {
+// title: '开课单位',
+// align: "center",
+// width: '100px',
+// dataIndex: 'kkdw_dictText'
+// },
+// {
+// title: '课程性质',
+// align: "center",
+// width: '105px',
+// dataIndex: 'kcxz_dictText'
+// },
+// {
+// title: '上课地点',
+// align: "center",
+// width: '100px',
+// dataIndex: 'skdd'
+// },
+// {
+// title: '上课周次',
+// align: "center",
+// width: '100px',
+// dataIndex: 'jkzc_dictText'
+// },
+// {
+// title: '节次',
+// align: "center",
+// width: '70px',
+// dataIndex: 'hh_dictText'
+// },
+// {
+// title: '星期',
+// align: "center",
+// width: '70px',
+// dataIndex: 'week_dictText'
+// },
+// {
+// title: '学分',
+// align: "center",
+// width: '50px',
+// dataIndex: 'xf'
+// },
+// {
+// title: '是否出镜',
+// align: "center",
+// dataIndex: 'sfcj',
+// edit: true,
+// editComponent: 'Select',
+// // editComponentProps: {
+// // // //选中
+// // checkedChildren: "是-",
+// // // checkedValue: 0,
+// // // //未选中
+// // unCheckedChildren:'否-',
+// // // unCheckedValue: 1,
+// // // onClick: (checked: boolean | string | number, event: Event) => {
+// // // event.stopPropagation();
+// // // console.log('选择后回调',checked,event);
+
+// // // }
+// // },
+// // editValueMap: (value) => value == '0'?'是':'否',
+// // editValueMap: (value) => value?'0':'1',
+// // format: (text) => ,C
+// editComponentProps: {
+// options: [
+// { label: '是', value: 0, },
+// { label: '否', value: 1, },
+// ],
+// },
+// // customRender: (r) => r.text == 0?'是':'否'
+// },
+
+
+// {
+// title: '上课形式',
+// align: "center",
+// dataIndex: 'skxs',
+// edit: true,
+// editComponent: 'Select',
+// editComponentProps: {
+// options: [
+// { label: '线上', value: 0, },
+// { label: '线下', value: 1, },
+// { label: '线上线下混合', value: 2, },
+// ],
+// },
+// // customRender: (r) => r.text == 0?'线上':r.text == 1?'线下':'线上线下混合'
+// },
+// ];
+
+//查询数据
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: "课程名称",
+ field: 'kcmc',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "授课教师",
+ field: 'skjs',
+ component: 'JDictSelectTag',
+ componentProps:{
+ },
+ colProps: {span: 6},
+ },
+ {
+ label: "开课单位",
+ field: 'kkdw',
+ component: 'JDictSelectTag',
+ componentProps:{
+ },
+ colProps: {span: 6},
+ },
+ {
+ label: "课程性质",
+ field: 'kcxz',
+ component: 'Input',
+ colProps: {span: 6},
+ },
+ {
+ label: "节次",
+ field: 'hh',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "skjc"
+ },
+ colProps: {span: 6},
+ },
+ {
+ label: "星期几",
+ field: 'week',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "week"
+ },
+ colProps: {span: 6},
+ },
+];
+
+//表单数据
+export const formSchema: FormSchema[] = [
+ {
+ label: '课程编号',
+ field: 'kcbh',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入课程编号!'},
+ {...rules.duplicateCheckRule('kc_kechengbiao', 'kcbh',model,schema)[0]},
+ ];
+ },
+ },
+ {
+ label: '课程名称',
+ field: 'kcmc',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入课程名称!'},
+ ];
+ },
+ },
+ {
+ label: '授课教师',
+ field: 'skjs',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: ""
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入授课教师!'},
+ ];
+ },
+ },
+ {
+ label: '学科人数',
+ field: 'xkrs',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入学科人数!'},
+ ];
+ },
+ },
+ {
+ label: '开课单位',
+ field: 'kkdw',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: ""
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入开课单位!'},
+ ];
+ },
+ },
+ {
+ label: '课程性质',
+ field: 'kcxz',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入课程性质!'},
+ ];
+ },
+ },
+ {
+ label: '上课地点',
+ field: 'skdd',
+ component: 'Input',
+ },
+ {
+ label: '上课周次',
+ field: 'jkzc',
+ component: 'JSelectMultiple',
+ componentProps:{
+ dictCode: "skzc"
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入上课周次!'},
+ ];
+ },
+ },
+ {
+ label: '节次',
+ field: 'hh',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "skjc"
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入节次!'},
+ ];
+ },
+ },
+ {
+ label: '星期几',
+ field: 'week',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "week"
+ },
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入星期几!'},
+ ];
+ },
+ },
+ {
+ label: '直播方式',
+ field: 'zbfs',
+ component: 'JDictSelectTag',
+ componentProps:{
+ dictCode: "skpt"
+ },
+ },
+ {
+ label: '会议号',
+ field: 'hyh',
+ component: 'Input',
+ },
+ {
+ label: '会议密码',
+ field: 'hymm',
+ component: 'Input',
+ },
+ {
+ label: '课程链接',
+ field: 'kclj',
+ component: 'Input',
+ },
+ {
+ label: '学分',
+ field: 'xf',
+ component: 'Input',
+ dynamicRules: ({model,schema}) => {
+ return [
+ { required: true, message: '请输入学分!'},
+ ];
+ },
+ },
+ {
+ label: '是否出镜,0-出镜,1-不出镜',
+ field: 'sfcj',
+ component: 'InputNumber',
+ },
+ {
+ label: '上课形式,0-线上,1-线下,2-线上线下混合',
+ field: 'skxs',
+ component: 'InputNumber',
+ },
+ // TODO 主键隐藏字段,目前写死为ID
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ show: false,
+ },
+];
diff --git a/src/views/kc/szkc/components/XzKechengbiaoList.vue b/src/views/kc/szkc/components/XzKechengbiaoList.vue
new file mode 100644
index 0000000..b590746
--- /dev/null
+++ b/src/views/kc/szkc/components/XzKechengbiaoList.vue
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/components/XzKechengbiaoListModal.vue b/src/views/kc/szkc/components/XzKechengbiaoListModal.vue
new file mode 100644
index 0000000..6b19f47
--- /dev/null
+++ b/src/views/kc/szkc/components/XzKechengbiaoListModal.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/components/YcKechengbiaoList.vue b/src/views/kc/szkc/components/YcKechengbiaoList.vue
new file mode 100644
index 0000000..ac1ba77
--- /dev/null
+++ b/src/views/kc/szkc/components/YcKechengbiaoList.vue
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
diff --git a/src/views/kc/szkc/components/YcKechengbiaoListModal.vue b/src/views/kc/szkc/components/YcKechengbiaoListModal.vue
new file mode 100644
index 0000000..0208d4b
--- /dev/null
+++ b/src/views/kc/szkc/components/YcKechengbiaoListModal.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/site/jrkclb/kclbList.vue b/src/views/site/jrkclb/kclbList.vue
index deb4154..e1843e6 100644
--- a/src/views/site/jrkclb/kclbList.vue
+++ b/src/views/site/jrkclb/kclbList.vue
@@ -37,11 +37,12 @@
+
-
+
听课
-
+
评价
+
+
+
- 已预约
- 预约
@@ -74,6 +81,7 @@ import KcErrorreportIndexModal from '/@/views/kc/kcErrorreport/components/KcErro
import { getUserId } from '/@/views/site/utils/index';
import addModalPage from '/@/views/site/tingKeZuJi/components/addModal.vue';
import { useRouter } from 'vue-router'
+import dayjs from 'dayjs';
//用户相关
import { useUserStore } from '/@/store/modules/user';
@@ -135,6 +143,16 @@ async function funYuyue(record){
});
}
+function isNow(item){
+ const jssj = dayjs(item.skrq + " " +item.jssj, 'YYYY-MM-DD hh:mm:ss');
+ const dqsj = dayjs(new Date(), 'YYYY-MM-DD hh:mm:ss');
+ if(jssj
-
+
+
diff --git a/src/views/site/renKeJiaoCheng/index.vue b/src/views/site/renKeJiaoCheng/index.vue
index 46af961..25fdd2c 100644
--- a/src/views/site/renKeJiaoCheng/index.vue
+++ b/src/views/site/renKeJiaoCheng/index.vue
@@ -1,7 +1,7 @@
- 任课教程
+ 任教课程
修改课程提醒