From d3479915bdf0ed418f8e380b41d74c21c5bdae57 Mon Sep 17 00:00:00 2001 From: bai <1643359946@qq.com> Date: Thu, 27 Jul 2023 00:24:40 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B47=E6=9C=8827=E6=97=A5=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=97=AE=E9=A2=98=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../XxhbbkjxtkpjBadLog.api.ts | 72 ++++ .../XxhbbkjxtkpjBadLog.data.ts | 386 ++++++++++++++++++ .../XxhbbkjxtkpjBadLogList.vue | 311 ++++++++++++++ .../components/XxhbbkjxtkpjBadLogForm.vue | 278 +++++++++++++ .../components/XxhbbkjxtkpjBadLogModal.vue | 75 ++++ src/views/kc/xxhbtkxx/XxhbtkxxList.vue | 1 + .../site/pjjgPage/components/jspjModal.vue | 49 ++- src/views/site/pjjgPage/list.vue | 114 +++--- src/views/site/pjjgPage/more.vue | 2 +- 9 files changed, 1234 insertions(+), 54 deletions(-) create mode 100644 src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.api.ts create mode 100644 src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.data.ts create mode 100644 src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLogList.vue create mode 100644 src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogForm.vue create mode 100644 src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogModal.vue diff --git a/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.api.ts b/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.api.ts new file mode 100644 index 0000000..8a96194 --- /dev/null +++ b/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/grab/xxhbbkjxtkpjBadLog/list', + save='/grab/xxhbbkjxtkpjBadLog/add', + edit='/grab/xxhbbkjxtkpjBadLog/edit', + deleteOne = '/grab/xxhbbkjxtkpjBadLog/delete', + deleteBatch = '/grab/xxhbbkjxtkpjBadLog/deleteBatch', + importExcel = '/grab/xxhbbkjxtkpjBadLog/importExcel', + exportXls = '/grab/xxhbbkjxtkpjBadLog/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/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.data.ts b/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.data.ts new file mode 100644 index 0000000..1d7e784 --- /dev/null +++ b/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLog.data.ts @@ -0,0 +1,386 @@ +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: 'bh' + }, + { + title: '轮次编号', + align: "center", + dataIndex: 'lcbh' + }, + { + title: '轮次出镜人', + align: "center", + dataIndex: 'lccjr' + }, + { + title: '听课人工号', + align: "center", + dataIndex: 'tkrgh' + }, + { + title: '听课人姓名', + align: "center", + dataIndex: 'tkrxm' + }, + { + title: '听课人单位名称', + align: "center", + dataIndex: 'tkrdwmc' + }, + { + title: '听课时间学期', + align: "center", + dataIndex: 'tksjxq' + }, + { + title: '课程节次', + align: "center", + dataIndex: 'kcjc' + }, + { + title: '课程单位', + align: "center", + dataIndex: 'kcdm' + }, + { + title: '听课教师', + align: "center", + dataIndex: 'tkjs' + }, + { + title: '听课课程名称', + align: "center", + dataIndex: 'tkkcmc' + }, + { + title: '任课教师', + align: "center", + dataIndex: 'rkjs' + }, + { + title: '总体评价', + align: "center", + dataIndex: 'ztpj' + }, + { + title: '教师工号', + align: "center", + dataIndex: 'jsgh' + }, + { + title: '全体意见', + align: "center", + dataIndex: 'qtyj' + }, + { + title: '教师评估1', + align: "center", + dataIndex: 'jspg1' + }, + { + title: '教师评估2', + align: "center", + dataIndex: 'jspg2' + }, + { + title: '教师评估3', + align: "center", + dataIndex: 'jspg3' + }, + { + title: '教师评估4', + align: "center", + dataIndex: 'jspg4' + }, + { + title: '教师评估5', + align: "center", + dataIndex: 'jspg5' + }, + { + title: '学生评估1', + align: "center", + dataIndex: 'xspg1' + }, + { + title: '学生评估2', + align: "center", + dataIndex: 'xspg2' + }, + { + title: '学生评估3', + align: "center", + dataIndex: 'xspg3' + }, + { + title: '课程编号', + align: "center", + dataIndex: 'kcbh' + }, + { + title: '时间戳', + align: "center", + dataIndex: 'timestamps', + customRender:({text}) =>{ + return !text?"":(text.length>10?text.substr(0,10):text); + }, + }, + { + title: '课表编号', + align: "center", + dataIndex: 'kbbh' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "编号", + field: 'bh', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "轮次编号", + field: 'lcbh', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "轮次出镜人", + field: 'lccjr', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "听课人工号", + field: 'tkrgh', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "听课人姓名", + field: 'tkrxm', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "听课人单位名称", + field: 'tkrdwmc', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "听课时间学期", + field: 'tksjxq', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "课程节次", + field: 'kcjc', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "课程单位", + field: 'kcdm', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "听课教师", + field: 'tkjs', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "听课课程名称", + field: 'tkkcmc', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "任课教师", + field: 'rkjs', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "教师工号", + field: 'jsgh', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "课程编号", + field: 'kcbh', + component: 'Input', + colProps: {span: 6}, + }, + { + label: "时间戳", + field: 'timestamps', + component: 'DatePicker', + colProps: {span: 6}, + }, + { + label: "课表编号", + field: 'kbbh', + component: 'Input', + colProps: {span: 6}, + }, +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '编号', + field: 'bh', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入编号!'}, + ]; + }, + }, + { + label: '轮次编号', + field: 'lcbh', + component: 'Input', + }, + { + label: '轮次出镜人', + field: 'lccjr', + component: 'Input', + }, + { + label: '听课人工号', + field: 'tkrgh', + component: 'Input', + }, + { + label: '听课人姓名', + field: 'tkrxm', + component: 'Input', + }, + { + label: '听课人单位名称', + field: 'tkrdwmc', + component: 'Input', + }, + { + label: '听课时间学期', + field: 'tksjxq', + component: 'Input', + }, + { + label: '课程节次', + field: 'kcjc', + component: 'Input', + }, + { + label: '课程单位', + field: 'kcdm', + component: 'Input', + }, + { + label: '听课教师', + field: 'tkjs', + component: 'Input', + }, + { + label: '听课课程名称', + field: 'tkkcmc', + component: 'Input', + }, + { + label: '任课教师', + field: 'rkjs', + component: 'Input', + }, + { + label: '总体评价', + field: 'ztpj', + component: 'Input', + }, + { + label: '教师工号', + field: 'jsgh', + component: 'Input', + }, + { + label: '全体意见', + field: 'qtyj', + component: 'InputTextArea', + }, + { + label: '教师评估1', + field: 'jspg1', + component: 'Input', + }, + { + label: '教师评估2', + field: 'jspg2', + component: 'Input', + }, + { + label: '教师评估3', + field: 'jspg3', + component: 'Input', + }, + { + label: '教师评估4', + field: 'jspg4', + component: 'Input', + }, + { + label: '教师评估5', + field: 'jspg5', + component: 'Input', + }, + { + label: '学生评估1', + field: 'xspg1', + component: 'Input', + }, + { + label: '学生评估2', + field: 'xspg2', + component: 'Input', + }, + { + label: '学生评估3', + field: 'xspg3', + component: 'Input', + }, + { + label: '课程编号', + field: 'kcbh', + component: 'Input', + }, + { + label: '时间戳', + field: 'timestamps', + component: 'DatePicker', + }, + { + label: '课表编号', + field: 'kbbh', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLogList.vue b/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLogList.vue new file mode 100644 index 0000000..2c6de82 --- /dev/null +++ b/src/views/kc/xxhbbkjxtkpjBadLog/XxhbbkjxtkpjBadLogList.vue @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + + + + + + + + + + 无文件 + 下载 + + + + + + + + + + diff --git a/src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogForm.vue b/src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogForm.vue new file mode 100644 index 0000000..4f6c717 --- /dev/null +++ b/src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogForm.vue @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogModal.vue b/src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogModal.vue new file mode 100644 index 0000000..12df5a1 --- /dev/null +++ b/src/views/kc/xxhbbkjxtkpjBadLog/components/XxhbbkjxtkpjBadLogModal.vue @@ -0,0 +1,75 @@ + + + + + + + + + diff --git a/src/views/kc/xxhbtkxx/XxhbtkxxList.vue b/src/views/kc/xxhbtkxx/XxhbtkxxList.vue index c14ae5e..24a4168 100644 --- a/src/views/kc/xxhbtkxx/XxhbtkxxList.vue +++ b/src/views/kc/xxhbtkxx/XxhbtkxxList.vue @@ -215,6 +215,7 @@ columns, canResize:false, useSearchForm: false, + showActionColumn: false, actionColumn: { width: 120, fixed: 'right', diff --git a/src/views/site/pjjgPage/components/jspjModal.vue b/src/views/site/pjjgPage/components/jspjModal.vue index dc776db..052b629 100644 --- a/src/views/site/pjjgPage/components/jspjModal.vue +++ b/src/views/site/pjjgPage/components/jspjModal.vue @@ -5,7 +5,19 @@ 教师评价 - + + + + + + + + + + + + + @@ -17,31 +29,51 @@ const width = ref(1200); const visible = ref(false); const disableSubmit = ref(false); - const registerForm = ref(); + const registerForm1 = ref(); + const registerForm2 = ref(); + const registerForm3 = ref(); const form = ref(); + const activeKey = ref('1'); + const recordData = ref({}); function getPDom() { return document.querySelector('.pjjgPageBase') } + function getActiveKeyRef():any{ + if(activeKey.value == '1'){ + return registerForm1.value; + }else if(activeKey.value == '2'){ + return registerForm2.value; + }else if(activeKey.value == '3'){ + return registerForm3.value; + } + return null; + } + /** * 新增 */ function view(record) { + activeKey.value = '1'; + recordData.value = record; visible.value = true; disableSubmit.value = true; console.log(`🚀 ~ file: viewModal.vue:32 ~ view ~ disableSubmit.value:`, disableSubmit.value) form.value = record; nextTick(() => { - registerForm.value.view(record); + //getActiveKeyRef().view(record); + registerForm1.value.view(record); + registerForm2.value.view(record); + registerForm3.value.view(record); }); } - /** + /**z * 确定按钮点击事件 */ function handleOk() { - registerForm.value.submitForm(); + getActiveKeyRef()?.submitForm(); } /** @@ -58,6 +90,13 @@ visible.value = false; } + function changeTab(activeKey) { + getActiveKeyRef()?.view(recordData.value); + // registerForm1.value.view(recordData.value); + // registerForm2.value.view(recordData.value); + // registerForm3.value.view(recordData.value); + } + defineExpose({ view, disableSubmit, diff --git a/src/views/site/pjjgPage/list.vue b/src/views/site/pjjgPage/list.vue index eea5722..385537c 100644 --- a/src/views/site/pjjgPage/list.vue +++ b/src/views/site/pjjgPage/list.vue @@ -3,8 +3,61 @@ - - + + + + + {{ item.kcmc }} ⭐ + + + + + + + {{ item.skjs }} + {{ item.kkdw }} + + + {{ item.xkrs }} + 选课人数 + + + + 教师评价:{{ (item.jspjPjf == 0?null:item.jspjPjf) || '未评价' }} + 学生评价:{{ (item.xspjPjf == 0?null:item.xspjPjf) || '未评价' }} + + + + + 第{{ item.hh }}节 + + + + + ———线下上课地点——— + + + + + {{ item.skdd }} + + + + + + 教师评价 + + + 学生评评价 + + + + + + + + + - - - - - + --> @@ -196,4 +204,14 @@ defineExpose({ padding-top: 10px; } +.yyyClass{ + background: #6cafda;font-weight: 600;color:#fff;border-radius: 5px;line-height: 23px; +} +.yyClass{ + background-color: #1c84c6;font-weight: 600;color:#fff;border-radius: 5px;line-height: 23px; +} +.bcClass{ + background-color: #1c84c6;font-weight: 600;border-radius: 5px;line-height: 23px; +} + \ No newline at end of file diff --git a/src/views/site/pjjgPage/more.vue b/src/views/site/pjjgPage/more.vue index 7970a06..2e3d520 100644 --- a/src/views/site/pjjgPage/more.vue +++ b/src/views/site/pjjgPage/more.vue @@ -8,7 +8,7 @@ - 评课足迹 + 评价结果 ({{getSysConfig().flag1}}, {{dateFormat(getSysConfig().bxqkssj, 'MM月dd日')}} 至 {{dateFormat(getSysConfig().bxqjssj, 'MM月dd日')}})