diff --git a/src/components/hTable/hTable.ts b/src/components/hTable/hTable.ts index 3de9845..00412b4 100644 --- a/src/components/hTable/hTable.ts +++ b/src/components/hTable/hTable.ts @@ -1,3 +1,4 @@ +import { Ref } from "vue"; import { array } from "vue-types"; export interface Dialog { @@ -329,6 +330,8 @@ export interface TableConfig { searchCallback?: (s: SearchConditions) => void; /** 新增/修改回调函数 */ editCallback?: (from: any) => void; + /** 编辑表单初始化回调函数 */ + editInitCallback?: (from: Ref>) => void; /** 展开行的回调 */ expandChange?: (row: any, expandedRows: any[]) => void; /** API地址 */ diff --git a/src/components/hTable/hTableEdit.vue b/src/components/hTable/hTableEdit.vue index 0eeaf0a..3df60df 100644 --- a/src/components/hTable/hTableEdit.vue +++ b/src/components/hTable/hTableEdit.vue @@ -46,6 +46,9 @@ onMounted(() => { intiColumn(); fetchInitData(); fetchFormData(); + //回调 + if (editData.value.table.editInitCallback) + editData.value.table.editInitCallback(column); }); function execute(obj, btn) { diff --git a/src/views/admin/index.vue b/src/views/admin/index.vue index 4c21d29..283167b 100644 --- a/src/views/admin/index.vue +++ b/src/views/admin/index.vue @@ -69,13 +69,13 @@ const tableData: TableConfig = intTableData({ { topBtn: true, // 头部按钮 label: "导入", - click:entryAdminnfo, + click: entryAdminnfo, btnStyle: "info", // topBtn: true才生效 success danger }, { topBtn: true, // 头部按钮 label: "导入模板", - click:DwImportTemplate, + click: DwImportTemplate, btnStyle: "info", // topBtn: true才生效 success danger }, ], @@ -149,16 +149,16 @@ function entryAdminnfo(eid: number) { const url = res && window.URL.createObjectURL(res); const link = document.createElement("a"); link.href = url; - link.setAttribute("download","导入失败管理员信息.xlsx"); + link.setAttribute("download", "导入失败管理员信息.xlsx"); document.body.appendChild(link); link.click(); document.body.removeChild(link); ElMessage.warning("导入失败,已导出错误数据"); }; - + try { fileE.click(); - } catch (error) { } + } catch (error) {} } function DwImportTemplate(obj, row, callBack) { const baseUrl = import.meta.env.VITE_API_BASEURL; diff --git a/src/views/class/index.vue b/src/views/class/index.vue index 67b1fef..f5003e6 100644 --- a/src/views/class/index.vue +++ b/src/views/class/index.vue @@ -108,16 +108,27 @@ const tableData: TableConfig = intTableData({ rules: ruleClassName, }, }, - type: { - label: "类型", + elective1: { + label: "主修", + width: "100px", + type: "dropdown", + edit: { + edit: true, + }, + }, + elective2: { + label: "选修1", + width: "100px", + type: "dropdown", + edit: { + edit: true, + }, + }, + elective3: { + label: "选修2", type: "dropdown", - search: { - yes: true, - }, edit: { - add: true, edit: true, - rules: ruleRequired, }, }, }, @@ -131,9 +142,13 @@ const tableData: TableConfig = intTableData({ const showTable = ref(false); onMounted(async () => { //初始化数据原 + const subjectC = (await getenum("SubjectEnum")).data; + tableData.column.elective1.setting.datasource = subjectC; + tableData.column.elective2.setting.datasource = subjectC; + tableData.column.elective3.setting.datasource = subjectC; tableData.column.Grade.setting.datasource = gradeComboModel(); - tableData.column.type.setting.datasource = (await getenum("ClassTypeEnum")).data; + // tableData.column.type.setting.datasource = (await getenum("ClassTypeEnum")).data; tableData.column.schoolId.setting.datasource = ( await SchoolApi.querycombo({ TextName: "Name", ValueName: "Id" }) ).data;