main
黄海 9 months ago
parent 049ff25fc4
commit 0a2914d944

@ -3,12 +3,12 @@
<div class="card filter">
<div style="display: flex; justify-content: space-between; margin-bottom: 10px">
<div style="display: flex; align-items: center; font-size: 14px; color: #009688; font-weight: bolder">
小学-语文-华东师大版
{{ sssTxt }}
</div>
<div>
<el-popover placement="right" :width="200" trigger="click">
<el-popover placement="right" :width="200" trigger="click" :visible="visible">
<template #reference>
<el-icon style="cursor: pointer"><Expand /></el-icon>
<el-icon style="cursor: pointer" @click="visible = true"><Expand /></el-icon>
</template>
<el-select
v-model="stageSelect"
@ -30,9 +30,18 @@
<el-option v-for="(item, index) in subjectList" :key="index" :label="item.subject_name" :value="item.subject_id" />
</el-select>
<el-select v-model="schemeSelect" placeholder="请选择版本" @change="schemeChange">
<el-select
v-model="schemeSelect"
placeholder="请选择版本"
style="margin-bottom: 10px"
:teleported="false"
@change="schemeChange"
>
<el-option v-for="(item, index) in schemeList" :key="index" :label="item.scheme_name" :value="item.scheme_id" />
</el-select>
<div style="text-align: right">
<el-button type="primary" size="small" :icon="Select" round @click="well"></el-button>
</div>
</el-popover>
</div>
</div>
@ -45,6 +54,7 @@
<script setup lang="ts">
import { ref, reactive, onMounted } from "vue";
import { Select } from "@element-plus/icons-vue";
import { ProTableInstance, ColumnProps } from "@/components/ProTable/interface";
import { Stage } from "@/api/interface";
import ProTable from "@/components/ProTable/index.vue";
@ -54,12 +64,19 @@ import { getStructureList, getStageList, getSubjectList, getSchemeList } from "@
const stageList = ref<any>([]);
const stageSelect = ref("");
const stageSelectTxt = ref("");
const subjectList = ref<any>([]);
const subjectSelect = ref("");
const subjectSelectTxt = ref("");
const schemeList = ref<any>([]);
const schemeSelect = ref("");
const schemeSelectTxt = ref("");
const sssTxt = ref("");
const visible = ref(false);
const getSchemeTree = (scheme_id: number = 500124397) => {
return getStructureList({ scheme_id });
@ -82,7 +99,12 @@ const getStageSelectList = async () => {
const stageChange = async value => {
const res = await getSubjectList({ stage_id: value, pageNum: 1, pageSize: 100 });
subjectList.value = res.data.list;
stageSelectTxt.value = stageList.value.find(item => item.stage_id === value)?.stage_name;
subjectSelect.value = "";
schemeList.value = [];
schemeSelect.value = "";
};
const subjectChange = async value => {
@ -93,10 +115,21 @@ const subjectChange = async value => {
pageSize: 100
});
schemeList.value = res.data.list;
subjectSelectTxt.value = subjectList.value.find(item => item.subject_id === value)?.subject_name;
schemeSelect.value = "";
};
const schemeChange = value => {
treeRef.value?.refresh(value);
schemeSelectTxt.value = schemeList.value.find(item => item.scheme_id === value)?.scheme_name;
};
const well = () => {
sssTxt.value = stageSelectTxt.value + "-" + subjectSelectTxt.value + "-" + schemeSelectTxt.value;
treeRef.value?.refresh(schemeSelect.value);
visible.value = false;
};
onMounted(() => {

Loading…
Cancel
Save