From eff2fd913ea788cae09e3d823e21d693ad6308d0 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Mon, 13 Jan 2025 14:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=A6=E7=94=9F=E8=AF=84?= =?UTF-8?q?=E6=95=99=E7=BB=93=E6=9E=9C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/chart/Radar.vue | 53 +++- .../components/KcXsktjxmydcpDetail2Form.vue | 227 ++++++++++++++++ .../components/KcXsktjxmydcpDetail2Modal.vue | 75 ++++++ src/views/kc/pjxxJszbpjf/JszbpjfList.vue | 184 +++++++++++++ src/views/kc/pjxxJszbpjf/PjxxJszbpjf.api.ts | 72 +++++ src/views/kc/pjxxJszbpjf/PjxxJszbpjf.data.ts | 232 ++++++++++++++++ src/views/kc/pjxxJszbpjf/PjxxJszbpjfList.vue | 255 ++++++++++++++++++ .../components/PjxxJszbpjfForm.vue | 247 +++++++++++++++++ .../components/PjxxJszbpjfModal.vue | 75 ++++++ src/views/site/pjjgPage/index.vue | 6 +- 10 files changed, 1414 insertions(+), 12 deletions(-) create mode 100644 src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Form.vue create mode 100644 src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Modal.vue create mode 100644 src/views/kc/pjxxJszbpjf/JszbpjfList.vue create mode 100644 src/views/kc/pjxxJszbpjf/PjxxJszbpjf.api.ts create mode 100644 src/views/kc/pjxxJszbpjf/PjxxJszbpjf.data.ts create mode 100644 src/views/kc/pjxxJszbpjf/PjxxJszbpjfList.vue create mode 100644 src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfForm.vue create mode 100644 src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfModal.vue diff --git a/src/components/chart/Radar.vue b/src/components/chart/Radar.vue index e4ef64c..f351775 100644 --- a/src/components/chart/Radar.vue +++ b/src/components/chart/Radar.vue @@ -29,20 +29,49 @@ const chartRef = ref(null); const { setOptions, echarts } = useECharts(chartRef as Ref); const option = reactive({ - title: { - text: '基础雷达图', - }, + // title: { + // text: '基础雷达图', + // }, legend: { - data: ['文综', '理综'], + // data: ['文综', '理综'], }, + // tooltip: { + // trigger: 'item', + // }, radar: { + name: { + //指示器文字换行 start + formatter: function(text){ + var strlength = text.length; + if(strlength % 9 != 0){ + text = text.replace(/\S{9}/g,function(match){ + console.log(match); + return match + '\n' + }) + }else{ + text = text.replace(/\S{9}/g,function(match){ + console.log(match); + return match + '\n' + }); + strlength = text.length; + text = text.substring(0,strlength - 1); + } + return text + } + //指示器文字换行 end + }, indicator: [ - { name: '历史', max: 100 }, - { name: '地理', max: 110 }, - { name: '生物', max: 120 }, - { name: '化学', max: 130 }, - { name: '物理', max: 140 }, - { name: '政治', max: 150 }, + { value: 9.9, name: '重视学生的成长引领,关心学生的学习需求,乐于与学生交流', max: 10 }, + { value: 9.9, name: '上课准备充分。课堂教学秩序良好。作业布置合理,反馈及时', max: 10 }, + { value: 9.9, name: '教学目标明确,重点突出,逻辑性强', max: 10 }, + { value: 9.9, name: '教学内容清晰易懂,体现适当的深度、广度和前沿性', max: 10 }, + { value: 9.9, name: '教学方法合理。教学媒体得当,课程资源丰富', max: 10 }, + { value: 9.9, name: '教师知识渊博,教学水平高,教学特色鲜明,教学有吸引力', max: 10 }, + { value: 9.9, name: '教学语言规范、准确,情绪饱满,热忱投入,为人师表', max: 10 }, + { value: 9.9, name: '教学中启发学生思考,引导自主学习,激发学习动力,鼓励创新探索', max: 10 }, + { value: 9.9, name: '掌握了所学课程的基础知识和基本理论,能用所学知识解决实际问题', max: 10 }, + { value: 9.9, name: '体会到本门课程学习的乐趣和挑战,理解课程内容的意义与价值', max: 10 }, + ], }, series: [ @@ -50,7 +79,7 @@ type: 'radar', data: [ { - value: [82, 70, 60, 55, 90, 66], + value: [10,10,10,10,10,10,10,10,10,10,], name: '文综', }, ], @@ -83,11 +112,13 @@ let obj = { name: type }; let chartArr = props.chartData.filter((item) => type === item.type); obj['value'] = chartArr.map((item) => item.value); + obj['label'] = {show: true,} //data数据 data.push(obj); }); option.radar.indicator = indicator; option.series[0]['data'] = data; + console.log("🚀 ~ initCharts ~ option:", option) setOptions(option); } return { chartRef }; diff --git a/src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Form.vue b/src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Form.vue new file mode 100644 index 0000000..d1f432a --- /dev/null +++ b/src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Form.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Modal.vue b/src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Modal.vue new file mode 100644 index 0000000..414b2d3 --- /dev/null +++ b/src/views/kc/kcXsktjxmydcp/components/KcXsktjxmydcpDetail2Modal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/kc/pjxxJszbpjf/JszbpjfList.vue b/src/views/kc/pjxxJszbpjf/JszbpjfList.vue new file mode 100644 index 0000000..6ef3b14 --- /dev/null +++ b/src/views/kc/pjxxJszbpjf/JszbpjfList.vue @@ -0,0 +1,184 @@ + + + \ No newline at end of file diff --git a/src/views/kc/pjxxJszbpjf/PjxxJszbpjf.api.ts b/src/views/kc/pjxxJszbpjf/PjxxJszbpjf.api.ts new file mode 100644 index 0000000..4d05138 --- /dev/null +++ b/src/views/kc/pjxxJszbpjf/PjxxJszbpjf.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/pjxxJszbpjf/pjxxJszbpjf/list', + save='/pjxxJszbpjf/pjxxJszbpjf/add', + edit='/pjxxJszbpjf/pjxxJszbpjf/edit', + deleteOne = '/pjxxJszbpjf/pjxxJszbpjf/delete', + deleteBatch = '/pjxxJszbpjf/pjxxJszbpjf/deleteBatch', + importExcel = '/pjxxJszbpjf/pjxxJszbpjf/importExcel', + exportXls = '/pjxxJszbpjf/pjxxJszbpjf/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/pjxxJszbpjf/PjxxJszbpjf.data.ts b/src/views/kc/pjxxJszbpjf/PjxxJszbpjf.data.ts new file mode 100644 index 0000000..49086e9 --- /dev/null +++ b/src/views/kc/pjxxJszbpjf/PjxxJszbpjf.data.ts @@ -0,0 +1,232 @@ +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: 'jsbh' + }, + { + title: '教师姓名', + align: "center", + dataIndex: 'jsxm' + }, + { + title: '教师职称', + align: "center", + dataIndex: 'jszc' + }, + { + title: '教师院系', + align: "center", + dataIndex: 'jsyx' + }, + { + title: '开课院系', + align: "center", + dataIndex: 'kkyx' + }, + { + title: '课程名称', + align: "center", + dataIndex: 'kcmc' + }, + { + title: '开课编号', + align: "center", + dataIndex: 'kkbh' + }, + { + title: '参评率', + align: "center", + dataIndex: 'cpl' + }, + { + title: '平均分汇总', + align: "center", + dataIndex: 'pjfhz' + }, + { + title: '重视学生的成长引领,关心学生的学习需求,乐于与学生交流', + align: "center", + dataIndex: 'col1' + }, + { + title: '上课准备充分,课堂教学秩序良好。作业布置合理,反馈及时', + align: "center", + dataIndex: 'col2' + }, + { + title: '教学目标明确,重点突出,逻辑性强', + align: "center", + dataIndex: 'col3' + }, + { + title: '教学内容清晰易懂,体现适当的深度、广度和前沿性', + align: "center", + dataIndex: 'col4' + }, + { + title: '教学方法合理,教学媒体得当,课程资源丰富', + align: "center", + dataIndex: 'col5' + }, + { + title: '教师知识渊博,教学水平高,教学特色鲜明,教学有吸引力', + align: "center", + dataIndex: 'col6' + }, + { + title: '教学语言规范、准确,情绪饱满,热忱投入,为人师表', + align: "center", + dataIndex: 'col7' + }, + { + title: '教学中启发学生思考,引导自主学习,激发学习动力,鼓励创新探索', + align: "center", + dataIndex: 'col8' + }, + { + title: '掌握了所学课程的基础知识和基本理论,能用所学知识解决实际问题', + align: "center", + dataIndex: 'col9' + }, + { + title: '体会到本门课程学习的乐趣和挑战,理解课程内容的意义与价值', + align: "center", + dataIndex: 'col10' + }, + { + title: '优点或建议', + align: "center", + dataIndex: 'col11' + }, + { + title: '学期学年', + align: "center", + dataIndex: 'xqxn' + }, +]; + +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; + +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '教师编号', + field: 'jsbh', + component: 'Input', + }, + { + label: '教师姓名', + field: 'jsxm', + component: 'Input', + }, + { + label: '教师职称', + field: 'jszc', + component: 'Input', + }, + { + label: '教师院系', + field: 'jsyx', + component: 'Input', + }, + { + label: '开课院系', + field: 'kkyx', + component: 'Input', + }, + { + label: '课程名称', + field: 'kcmc', + component: 'Input', + }, + { + label: '开课编号', + field: 'kkbh', + component: 'Input', + }, + { + label: '参评率', + field: 'cpl', + component: 'Input', + }, + { + label: '平均分汇总', + field: 'pjfhz', + component: 'Input', + }, + { + label: '重视学生的成长引领,关心学生的学习需求,乐于与学生交流', + field: 'col1', + component: 'Input', + }, + { + label: '上课准备充分,课堂教学秩序良好。作业布置合理,反馈及时', + field: 'col2', + component: 'Input', + }, + { + label: '教学目标明确,重点突出,逻辑性强', + field: 'col3', + component: 'Input', + }, + { + label: '教学内容清晰易懂,体现适当的深度、广度和前沿性', + field: 'col4', + component: 'Input', + }, + { + label: '教学方法合理,教学媒体得当,课程资源丰富', + field: 'col5', + component: 'Input', + }, + { + label: '教师知识渊博,教学水平高,教学特色鲜明,教学有吸引力', + field: 'col6', + component: 'Input', + }, + { + label: '教学语言规范、准确,情绪饱满,热忱投入,为人师表', + field: 'col7', + component: 'Input', + }, + { + label: '教学中启发学生思考,引导自主学习,激发学习动力,鼓励创新探索', + field: 'col8', + component: 'Input', + }, + { + label: '掌握了所学课程的基础知识和基本理论,能用所学知识解决实际问题', + field: 'col9', + component: 'Input', + }, + { + label: '体会到本门课程学习的乐趣和挑战,理解课程内容的意义与价值', + field: 'col10', + component: 'Input', + }, + { + label: '优点或建议', + field: 'col11', + component: 'InputTextArea', + }, + { + label: '学期学年', + field: 'xqxn', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; diff --git a/src/views/kc/pjxxJszbpjf/PjxxJszbpjfList.vue b/src/views/kc/pjxxJszbpjf/PjxxJszbpjfList.vue new file mode 100644 index 0000000..ee64057 --- /dev/null +++ b/src/views/kc/pjxxJszbpjf/PjxxJszbpjfList.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfForm.vue b/src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfForm.vue new file mode 100644 index 0000000..34dd031 --- /dev/null +++ b/src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfForm.vue @@ -0,0 +1,247 @@ + + + + + diff --git a/src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfModal.vue b/src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfModal.vue new file mode 100644 index 0000000..7c265b3 --- /dev/null +++ b/src/views/kc/pjxxJszbpjf/components/PjxxJszbpjfModal.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/site/pjjgPage/index.vue b/src/views/site/pjjgPage/index.vue index 1886487..4620662 100644 --- a/src/views/site/pjjgPage/index.vue +++ b/src/views/site/pjjgPage/index.vue @@ -10,8 +10,11 @@ - + + + @@ -22,6 +25,7 @@ import { ref } from 'vue'; import list from '/@/views/site/pjjgPage/list.vue'; import studentPjjgList from '/@/views/site/pjjgPage/studentPjjgList.vue'; +import JszbpjfList from '/@/views/kc/pjxxJszbpjf/JszbpjfList.vue'; import { nextTick } from 'vue'; const tkzjParam = ref({});