<template>
|
<InfiniteLoading
|
scrollViewClassName="common-page-infinite-scroll-list"
|
v-bind="infiniteLoadingProps"
|
>
|
<template #renderItem="{ item }">
|
<ChooseServerCard
|
:avatar="item.avatar"
|
:name="item.name"
|
:gender="item.gender"
|
:age="item.age"
|
:isReal="item.isReal"
|
:personalIdentityContent="item.personalIdentityContent"
|
:educationalBackgroundContent="item.educationalBackgroundContent"
|
:taskCount="item.taskCount"
|
:workExperience="item.workExperience"
|
>
|
<template #actions>
|
<nut-button type="primary" plain>查看详情</nut-button>
|
<nut-button type="primary" @click="handleChoose(item)">选择</nut-button>
|
</template>
|
</ChooseServerCard>
|
</template>
|
</InfiniteLoading>
|
</template>
|
|
<script setup lang="ts">
|
import Taro from '@tarojs/taro';
|
import * as standardServiceServices from '@12333/services/apiV2/standardService';
|
import { useInfiniteLoading } from '@12333/hooks';
|
import { EnumPagedListOrder } from '@12333/constants';
|
import { useEvent, useEventChannel } from 'senin-mini/hooks';
|
import { SelectEnterpriseEmployeeEvent } from '../utils';
|
|
defineOptions({
|
name: 'InnerPage',
|
});
|
|
const route = Taro.useRouter();
|
const id = route.params?.id ?? '';
|
|
const eventChannel = useEventChannel();
|
|
const { infiniteLoadingProps } = useInfiniteLoading(
|
({ pageParam }) => {
|
let params: API.GetStandardServiceServersQuery = {
|
pageModel: {
|
rows: 20,
|
page: pageParam,
|
// orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
|
},
|
supplierEnterpriseId: id,
|
};
|
|
return standardServiceServices.getStandardServiceServers(params, {
|
showLoading: false,
|
});
|
},
|
{
|
queryKey: ['standardServiceServices/getStandardServiceServers', id],
|
}
|
);
|
|
function handleChoose(item: API.GetStandardServiceServersQueryResultItem) {
|
eventChannel.emit('onSelectEnterpriseEmployee', {
|
enterpriseEmployeeId: item.id,
|
supplierEnterpriseId: id,
|
enterpriseEmployeeName: item.name,
|
} as SelectEnterpriseEmployeeEvent);
|
Taro.navigateBack({ delta: 2 });
|
}
|
</script>
|