From 10a5d45eefe699681031d585fc3b905713a29c27 Mon Sep 17 00:00:00 2001 From: bai <1643359946@qq.com> Date: Wed, 29 Mar 2023 22:52:49 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B43=E6=9C=8829=E6=97=A5=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=AF=BE=E5=A0=82=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.js | 7 +- src/views/kc/ktgl/KcKetangbiao.api.ts | 72 +++++ src/views/kc/ktgl/KcKetangbiao.data.ts | 252 +++++++++++++++++ src/views/kc/ktgl/KcKetangbiaoList.vue | 254 ++++++++++++++++++ .../kc/ktgl/components/KcKetangbiaoForm.vue | 221 +++++++++++++++ .../kc/ktgl/components/KcKetangbiaoModal.vue | 75 ++++++ src/views/site/index.vue | 19 +- 7 files changed, 897 insertions(+), 3 deletions(-) create mode 100644 src/views/kc/ktgl/KcKetangbiao.api.ts create mode 100644 src/views/kc/ktgl/KcKetangbiao.data.ts create mode 100644 src/views/kc/ktgl/KcKetangbiaoList.vue create mode 100644 src/views/kc/ktgl/components/KcKetangbiaoForm.vue create mode 100644 src/views/kc/ktgl/components/KcKetangbiaoModal.vue diff --git a/.eslintrc.js b/.eslintrc.js index 4573766..954da34 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -46,7 +46,7 @@ module.exports = defineConfig({ }, ], 'no-unused-vars': [ - 'error', + 'off', { argsIgnorePattern: '^_', varsIgnorePattern: '^_', @@ -63,7 +63,7 @@ module.exports = defineConfig({ 'vue/attribute-hyphenation': 'off', 'vue/require-default-prop': 'off', 'vue/html-self-closing': [ - 'error', + 'off', { html: { void: 'always', @@ -75,5 +75,8 @@ module.exports = defineConfig({ }, ], 'vue/multi-word-component-names': 'off', + // 'vue/html-self-closing': 'off', + 'prettier/prettier': 'off', + // 'no-unused-vars': 'off', }, }); diff --git a/src/views/kc/ktgl/KcKetangbiao.api.ts b/src/views/kc/ktgl/KcKetangbiao.api.ts new file mode 100644 index 0000000..9365570 --- /dev/null +++ b/src/views/kc/ktgl/KcKetangbiao.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/kcKetangbiao/list', + save='/ktgl/kcKetangbiao/add', + edit='/ktgl/kcKetangbiao/edit', + deleteOne = '/ktgl/kcKetangbiao/delete', + deleteBatch = '/ktgl/kcKetangbiao/deleteBatch', + importExcel = '/ktgl/kcKetangbiao/importExcel', + exportXls = '/ktgl/kcKetangbiao/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/ktgl/KcKetangbiao.data.ts b/src/views/kc/ktgl/KcKetangbiao.data.ts new file mode 100644 index 0000000..f8390da --- /dev/null +++ b/src/views/kc/ktgl/KcKetangbiao.data.ts @@ -0,0 +1,252 @@ +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: 'xf' + }, + { + title: '授课教师', + align: "center", + dataIndex: 'skjs' + }, + { + title: '选课人数', + align: "center", + dataIndex: 'xkrs' + }, + { + title: '开课单位', + align: "center", + dataIndex: 'kkdw_dictText' + }, + { + title: '课程性质', + align: "center", + dataIndex: 'kcxz_dictText' + }, + { + title: '节次', + align: "center", + dataIndex: 'hh_dictText' + }, + { + title: '周几', + align: "center", + dataIndex: 'week_dictText' + }, + { + title: '开课周次', + align: "center", + dataIndex: 'kkzc_dictText' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "课程名称", + field: 'kcmc', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "开课单位", + field: 'kkdw', + component: 'JDictSelectTag', + componentProps:{ + }, + colProps: {span: 6}, + }, + { + label: "课程性质", + field: 'kcxz', + component: 'JDictSelectTag', + componentProps:{ + dictCode: "kcxz" + }, + 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_ketangbiao', 'kcbh',model,schema)[0]}, + ]; + }, + }, + { + label: '课程名称', + field: 'kcmc', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入课程名称!'}, + ]; + }, + }, + { + label: '学分', + field: 'xf', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入学分!'}, + ]; + }, + }, + { + label: '授课教师', + field: 'skjs', + component: 'Input', + 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: 'JDictSelectTag', + componentProps:{ + dictCode: "kcxz" + }, + 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: 'kkzc', + component: 'JSelectMultiple', + componentProps:{ + dictCode: "skzc" + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入开课周次!'}, + ]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/ktgl/KcKetangbiaoList.vue b/src/views/kc/ktgl/KcKetangbiaoList.vue new file mode 100644 index 0000000..a80bc45 --- /dev/null +++ b/src/views/kc/ktgl/KcKetangbiaoList.vue @@ -0,0 +1,254 @@ + + + + + diff --git a/src/views/kc/ktgl/components/KcKetangbiaoForm.vue b/src/views/kc/ktgl/components/KcKetangbiaoForm.vue new file mode 100644 index 0000000..6be6894 --- /dev/null +++ b/src/views/kc/ktgl/components/KcKetangbiaoForm.vue @@ -0,0 +1,221 @@ + + + + + diff --git a/src/views/kc/ktgl/components/KcKetangbiaoModal.vue b/src/views/kc/ktgl/components/KcKetangbiaoModal.vue new file mode 100644 index 0000000..44dfbda --- /dev/null +++ b/src/views/kc/ktgl/components/KcKetangbiaoModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/site/index.vue b/src/views/site/index.vue index ac6b16d..129645f 100644 --- a/src/views/site/index.vue +++ b/src/views/site/index.vue @@ -3,6 +3,7 @@

首页

+
{{ list }} - {{ stateCount }}
{{ state }} 点击+1 @@ -14,16 +15,32 @@
跳转到子页
+
+ 跳转到后页 +