feat:统一两端 data.ts 关联数据的加载逻辑(写法)

This commit is contained in:
YunaiV
2025-10-18 17:14:28 +08:00
parent 2288748ca8
commit 769510c4f6
12 changed files with 29 additions and 60 deletions

View File

@@ -9,12 +9,9 @@ import { z } from '#/adapter/form';
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
import { getRangePickerDefaultProps } from '#/utils';
/** 关联数据 */
let categoryList: MallArticleCategoryApi.ArticleCategory[] = [];
async function getCategoryData() {
categoryList = await getSimpleArticleCategoryList();
}
getCategoryData();
getSimpleArticleCategoryList().then((data) => (categoryList = data));
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {

View File

@@ -10,11 +10,9 @@ import { useUserStore } from '@vben/stores';
import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore';
import { getRangePickerDefaultProps } from '#/utils';
// TODO @芋艿:统一风格;
/** 关联数据 **/
const userStore = useUserStore();
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
/** 自提门店列表 */
getSimpleDeliveryPickUpStoreList().then((res) => {
pickUpStoreList.value = res;
// 移除自己无法核销的门店

View File

@@ -86,7 +86,6 @@ export function useFormSchema(): VbenFormSchema[] {
rules: 'required',
componentProps: {
format: 'HH:mm',
placeholder: ['开始时间', '结束时间'],
},
},
{
@@ -195,7 +194,6 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: {
...getRangePickerDefaultProps(),
allowClear: true,
placeholder: ['开始时间', '结束时间'],
},
},
];

View File

@@ -2,8 +2,6 @@ import type { VbenFormSchema } from '#/adapter/form';
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
import type { MallDeliveryPickUpStoreApi } from '#/api/mall/trade/delivery/pickUpStore';
import { ref } from 'vue';
import { DeliveryTypeEnum, DICT_TYPE } from '@vben/constants';
import { getDictOptions } from '@vben/hooks';
import { convertToInteger, formatToFraction } from '@vben/utils';
@@ -13,10 +11,10 @@ import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pick
import { getAreaTree } from '#/api/system/area';
import { getRangePickerDefaultProps } from '#/utils';
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
getSimpleDeliveryPickUpStoreList().then((res) => {
pickUpStoreList.value = res;
/** 关联数据 */
let pickUpStoreList: MallDeliveryPickUpStoreApi.PickUpStore[] = [];
getSimpleDeliveryPickUpStoreList().then((data) => {
pickUpStoreList = data;
});
/** 列表的搜索表单 */
@@ -227,9 +225,9 @@ export function useGridColumns(): VxeGridPropTypes.Columns {
return `买家:${row.user?.nickname} / 收货人: ${row.receiverName} ${row.receiverMobile}${row.receiverAreaName}${row.receiverDetailAddress}`;
}
if (row.deliveryType === DeliveryTypeEnum.PICK_UP.type) {
return `门店名称:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.name} /
门店手机:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.phone} /
自提门店:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
return `门店名称:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.name} /
门店手机:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.phone} /
自提门店:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
`;
}
return '';

View File

@@ -11,12 +11,9 @@ import { z } from '#/adapter/form';
import { getDeptList } from '#/api/system/dept';
import { getSimpleUserList } from '#/api/system/user';
/** 关联数据 */
let userList: SystemUserApi.User[] = [];
async function getUserData() {
userList = await getSimpleUserList();
}
getUserData();
getSimpleUserList().then((data) => (userList = data));
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {

View File

@@ -9,14 +9,9 @@ import { z } from '#/adapter/form';
import { getTenantPackageList } from '#/api/system/tenant-package';
import { getRangePickerDefaultProps } from '#/utils';
// TODO @xingyu这个不用 ref 么?
/** 关联数据 */
let tenantPackageList: SystemTenantPackageApi.TenantPackage[] = [];
async function getTenantPackageData() {
tenantPackageList = await getTenantPackageList();
}
getTenantPackageData();
getTenantPackageList().then((data) => (tenantPackageList = data));
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {

View File

@@ -9,12 +9,9 @@ import { z } from '#/adapter/form';
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
import { getRangePickerDefaultProps } from '#/utils';
/** 关联数据 */
let categoryList: MallArticleCategoryApi.ArticleCategory[] = [];
async function getCategoryData() {
categoryList = await getSimpleArticleCategoryList();
}
getCategoryData();
getSimpleArticleCategoryList().then((data) => (categoryList = data));
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {

View File

@@ -10,11 +10,9 @@ import { useUserStore } from '@vben/stores';
import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore';
import { getRangePickerDefaultProps } from '#/utils';
// TODO @芋艿:统一风格;
/** 关联数据 */
const userStore = useUserStore();
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
/** 自提门店列表 */
getSimpleDeliveryPickUpStoreList().then((res) => {
pickUpStoreList.value = res;
// 移除自己无法核销的门店

View File

@@ -2,8 +2,6 @@ import type { VbenFormSchema } from '#/adapter/form';
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
import type { MallDeliveryPickUpStoreApi } from '#/api/mall/trade/delivery/pickUpStore';
import { ref } from 'vue';
import { DeliveryTypeEnum, DICT_TYPE } from '@vben/constants';
import { getDictOptions } from '@vben/hooks';
import { convertToInteger, formatToFraction } from '@vben/utils';
@@ -13,10 +11,10 @@ import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pick
import { getAreaTree } from '#/api/system/area';
import { getRangePickerDefaultProps } from '#/utils';
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
getSimpleDeliveryPickUpStoreList().then((res) => {
pickUpStoreList.value = res;
/** 关联数据 */
let pickUpStoreList: MallDeliveryPickUpStoreApi.PickUpStore[] = [];
getSimpleDeliveryPickUpStoreList().then((data) => {
pickUpStoreList = data;
});
/** 列表的搜索表单 */
@@ -225,9 +223,9 @@ export function useGridColumns(): VxeGridPropTypes.Columns {
return `买家:${row.user?.nickname} / 收货人: ${row.receiverName} ${row.receiverMobile}${row.receiverAreaName}${row.receiverDetailAddress}`;
}
if (row.deliveryType === DeliveryTypeEnum.PICK_UP.type) {
return `门店名称:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.name} /
门店手机:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.phone} /
自提门店:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
return `门店名称:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.name} /
门店手机:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.phone} /
自提门店:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
`;
}
return '';

View File

@@ -11,12 +11,9 @@ import { z } from '#/adapter/form';
import { getDeptList } from '#/api/system/dept';
import { getSimpleUserList } from '#/api/system/user';
/** 关联数据 */
let userList: SystemUserApi.User[] = [];
async function getUserData() {
userList = await getSimpleUserList();
}
getUserData();
getSimpleUserList().then((data) => (userList = data));
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {

View File

@@ -74,6 +74,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Textarea',
componentProps: {
placeholder: '请输入模板内容',
rows: 4,
},
rules: 'required',
},

View File

@@ -9,14 +9,9 @@ import { z } from '#/adapter/form';
import { getTenantPackageList } from '#/api/system/tenant-package';
import { getRangePickerDefaultProps } from '#/utils';
// TODO @xingyu这个不用 ref 么?
/** 关联数据 */
let tenantPackageList: SystemTenantPackageApi.TenantPackage[] = [];
async function getTenantPackageData() {
tenantPackageList = await getTenantPackageList();
}
getTenantPackageData();
getTenantPackageList().then((data) => (tenantPackageList = data));
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {