<template>
|
<InfiniteLoading
|
scrollViewClassName="common-infinite-scroll-list home-list"
|
v-bind="infiniteLoadingProps"
|
>
|
<nut-address-list
|
:data="infiniteLoadingProps.flattenListData"
|
@del-icon="delClick"
|
@edit-icon="editClick"
|
:show-bottom-button="false"
|
:data-options="dataOptions"
|
style="padding-bottom: 0"
|
>
|
</nut-address-list>
|
</InfiniteLoading>
|
<PageFooter>
|
<PageFooterBtn type="primary" @click="goAddress()">添加地址</PageFooterBtn>
|
</PageFooter>
|
</template>
|
|
<script setup lang="ts">
|
import { useInfiniteLoading } from '@12333/hooks';
|
import Taro from '@tarojs/taro';
|
import * as enterpriseServices from '@12333/services/apiV2/enterprise';
|
import { Message } from '@12333/utils';
|
|
defineOptions({
|
name: 'InnerPage',
|
});
|
|
const dataOptions = reactive({
|
id: 'id',
|
addressDetail: 'addressDetail',
|
addressName: 'name',
|
phone: 'contactPhoneNumber',
|
defaultAddress: 'isDefault',
|
});
|
|
const delClick = async (_, item: API.GetEnterpriseAddressesQueryResultItem) => {
|
try {
|
await Message.confirm({
|
message: '确定要删除吗?',
|
});
|
let params: API.DeleteEnterpriseAddressCommand = {
|
ids: [item.id],
|
};
|
let res = await enterpriseServices.deleteEnterpriseAddress(params);
|
|
if (res) {
|
Message.success('删除成功');
|
invalidateQueries();
|
}
|
} catch (error) {}
|
};
|
const editClick = (_, item: API.GetEnterpriseAddressesQueryResultItem) => {
|
goAddress(item.id);
|
};
|
|
const { infiniteLoadingProps, invalidateQueries } = useEnterpriseAddresses();
|
|
function goAddress(id?: string) {
|
Taro.navigateTo({
|
url: id ? `${RouterPath.editAddress}?id=${id}` : RouterPath.editAddress,
|
});
|
}
|
</script>
|
|
<style lang="scss">
|
@import '@/styles/common.scss';
|
</style>
|