123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <script setup>
- import { ref, reactive, onMounted } from "vue";
- import { useRoute } from "vue-router";
- import { getUserListObjectByModelId, getAssessmentIndName } from "@/api/draw";
- const props = defineProps({
- // 行数
- activeName: {
- type: String,
- default: "0"
- }
- });
- const $emit = defineEmits(["handClick"]);
- const dataList = reactive({
- teplist: [],
- personList: [],
- magList: [],
- userList: [],
- params: {
- assessmentId: "",
- assessmentModelId: "",
- deptCode: "",
- assessmentObjectId: "",
- indName: ""
- }
- });
- // 部门
- const postListTreeApi = async selectedItem => {
- const { data, code } = await getUserListObjectByModelId({
- type: 2,
- assessmentId: selectedItem.assessmentId,
- modelId: selectedItem.assessmentModelId
- });
- if (code === 200) {
- dataList.userList = data;
- }
- };
- // 指标
- const route = useRoute();
- const assessmentList = ref([]);
- const getAssessmentIndNameApi = async () => {
- const { data, code } = await getAssessmentIndName({
- assessmentId: route.query.id
- });
- if (code === 200) {
- assessmentList.value = data;
- }
- };
- onMounted(() => {
- dataList.params.assessmentId = route.query.id;
- dataList.params.assessmentModelId = route.query.mid;
- init.assessmentName = route.query.name;
- init.assessmentModelName = route.query.mname;
- postListTreeApi({
- assessmentId: route.query.id,
- assessmentModelId: route.query.mid
- });
- getAssessmentIndNameApi();
- });
- // -----------------------------------
- const init = reactive({
- assessmentName: "",
- assessmentModelName: "",
- deptName: "",
- assessmentObjectName: "",
- dimensionName: ""
- });
- const handClickInit3 = value => {
- if (value) {
- const selectedItem = dataList.userList.find(
- item => item.assessmentObjectId === value
- );
- init.assessmentObjectName = selectedItem.assessmentObjectName;
- }
- $emit(
- "handClick",
- {
- ...dataList.params,
- ...init
- },
- 1
- );
- };
- const handClickInit5 = value => {
- $emit(
- "handClick",
- {
- ...dataList.params,
- ...init,
- indName: value
- },
- "1"
- );
- };
- </script>
- <template>
- <div class="w-full">
- <div class="mb-2 flex gap-2 justify-between flex-wrap">
- <div class="w-[100%] flex mt-2">
- <div v-if="props.activeName === '0'" class="flex mr-2">
- <div class="text-sm leading-8 mr-3">医疗组</div>
- <el-select
- v-model="dataList.params.assessmentObjectId"
- clearable
- filterable
- placeholder="请选择"
- style="width: 200px"
- @change="handClickInit3"
- >
- <el-option
- v-for="item in dataList.userList"
- :key="item.assessmentObjectId"
- :label="item.assessmentObjectName"
- :value="item.assessmentObjectId"
- />
- </el-select>
- </div>
- <div v-else class="flex mr-2">
- <div class="text-sm leading-8 mr-3">指标</div>
- <el-select
- v-model="dataList.params.indName"
- clearable
- filterable
- placeholder="请选择"
- style="width: 200px"
- @change="handClickInit5"
- >
- <el-option
- v-for="(item, idx) in assessmentList"
- :key="idx"
- :label="item"
- :value="item"
- />
- </el-select>
- </div>
- </div>
- </div>
- </div>
- </template>
|