-- 授课教师

This commit is contained in:
yuping
2022-12-23 15:07:10 +08:00
parent da9a7c86c1
commit 9baf321254
2 changed files with 56 additions and 48 deletions

View File

@@ -28,8 +28,8 @@
</template>
<script setup>
import {computed, defineEmits, defineProps, onMounted, ref, watch} from "vue";
import {scrollLoad, throttle} from "@/api/method";
import * as api1 from "@/api/index1";
import {useBoeUserListPage} from "@/api/request";
import {USER_LIST} from "@/api/ThirdApi";
const props = defineProps({
value: {
@@ -48,8 +48,6 @@ const props = defineProps({
mode: String
})
const options = ref([])
const selectOptions = ref([])
const managerArray = computed(() => props.mode === 'select' ? props.value : (props.value ? props.value.split(',') : []))
@@ -58,11 +56,17 @@ const emit = defineEmits({})
const isOpen = ref(false)
const memberParam = ref({keyWord: '', pageNo: 1, pageSize: 10})
const loading = ref(false)
const memberParam = ref({keyWord: '', page: 1, pageSize: 20})
const {data: userList, loading} = useBoeUserListPage(USER_LIST, memberParam.value, false)
const options = computed(() => userList.value.filter(e => !(props.value + '').includes(e.id)).map(e => ({
label: e.realName + e.userNo,
value: e.id,
...e,
audienceList: null
})))
watch(() => memberParam.value, throttle(getMemberData, 1000))
watch(props, init)
function init() {
@@ -78,59 +82,31 @@ onMounted(() => {
})
function getMemberData() {
if (!memberParam.value.keyWord) {
return
}
if (memberParam.value.pageNo !== 1) {
options.value && options.value.length && (options.value = [])
}
isOpen.value = true
loading.value = true
api1.getMemberInfo(memberParam.value).then((res) => {
if (!res.data.data.rows || !res.data.data.rows.length) {
isOpen.value = false
return;
}
console.log(1111111111111)
console.log(props.value)
const list = res.data.data.rows.filter(e => !(props.value + '').includes(e.id)).map(e => ({
label: e.realName + e.userNo,
value: e.id,
deptId: e.departId,
departName: e.departName,
userNo: e.userNo,
name: e.realName
}));
memberParam.value.pageNo === 1 && props.value ? (options.value = list) : options.value.push(...list)
loading.value = false
});
}
const memberScroll = (e) => {
let num = scrollLoad(e);
if (num === 2) {
memberParam.value.pageNo++;
}
const memberScroll = ({target: {scrollHeight, scrollTop, clientHeight}}) => {
scrollHeight === (clientHeight + scrollTop) && memberParam.value.page++
};
//搜索学员
const searchMember = (keyWord) => {
console.log('searchMember', keyWord)
loading.value = true
options.value = []
isOpen.value = true
keyWord && (memberParam.value = {keyWord, pageNo: 1, pageSize: 10});
userList.value = []
memberParam.value.keyWord = keyWord
};
function blur() {
isOpen.value = false
memberParam.value.keyWord = ''
memberParam.value.page = 1
}
function change(e, l) {
memberParam.value.keyWord = ''
memberParam.value.page = 1
isOpen.value = false
Array.isArray(l) && (selectOptions.value = l)
Array.isArray(selectOptions.value) && emit('onChange', e, l, selectOptions.value.find(e => e.deptId)?.deptId, selectOptions.value.find(e => e.deptId)?.departName)
Array.isArray(selectOptions.value) && emit('onChange', e, l, selectOptions.value.find(e => e.departId)?.departId, selectOptions.value.find(e => e.departId)?.departName)
if (Array.isArray(l)) {
emit('update:name', l.map(t => t.label).join(','))
emit('update:value', l.map(t => t.value).join(','))