feat:统一两端 data.ts 关联数据的加载逻辑(写法)
This commit is contained in:
@@ -9,12 +9,9 @@ import { z } from '#/adapter/form';
|
|||||||
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
|
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
|
/** 关联数据 */
|
||||||
let categoryList: MallArticleCategoryApi.ArticleCategory[] = [];
|
let categoryList: MallArticleCategoryApi.ArticleCategory[] = [];
|
||||||
async function getCategoryData() {
|
getSimpleArticleCategoryList().then((data) => (categoryList = data));
|
||||||
categoryList = await getSimpleArticleCategoryList();
|
|
||||||
}
|
|
||||||
|
|
||||||
getCategoryData();
|
|
||||||
|
|
||||||
/** 新增/修改的表单 */
|
/** 新增/修改的表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
|
|||||||
@@ -10,11 +10,9 @@ import { useUserStore } from '@vben/stores';
|
|||||||
import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore';
|
import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
// TODO @芋艿:统一风格;
|
/** 关联数据 **/
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
|
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
|
||||||
|
|
||||||
/** 自提门店列表 */
|
|
||||||
getSimpleDeliveryPickUpStoreList().then((res) => {
|
getSimpleDeliveryPickUpStoreList().then((res) => {
|
||||||
pickUpStoreList.value = res;
|
pickUpStoreList.value = res;
|
||||||
// 移除自己无法核销的门店
|
// 移除自己无法核销的门店
|
||||||
|
|||||||
@@ -86,7 +86,6 @@ export function useFormSchema(): VbenFormSchema[] {
|
|||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
format: 'HH:mm',
|
format: 'HH:mm',
|
||||||
placeholder: ['开始时间', '结束时间'],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -195,7 +194,6 @@ export function useGridFormSchema(): VbenFormSchema[] {
|
|||||||
componentProps: {
|
componentProps: {
|
||||||
...getRangePickerDefaultProps(),
|
...getRangePickerDefaultProps(),
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
placeholder: ['开始时间', '结束时间'],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ import type { VbenFormSchema } from '#/adapter/form';
|
|||||||
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
||||||
import type { MallDeliveryPickUpStoreApi } from '#/api/mall/trade/delivery/pickUpStore';
|
import type { MallDeliveryPickUpStoreApi } from '#/api/mall/trade/delivery/pickUpStore';
|
||||||
|
|
||||||
import { ref } from 'vue';
|
|
||||||
|
|
||||||
import { DeliveryTypeEnum, DICT_TYPE } from '@vben/constants';
|
import { DeliveryTypeEnum, DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
import { convertToInteger, formatToFraction } from '@vben/utils';
|
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 { getAreaTree } from '#/api/system/area';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
|
/** 关联数据 */
|
||||||
|
let pickUpStoreList: MallDeliveryPickUpStoreApi.PickUpStore[] = [];
|
||||||
getSimpleDeliveryPickUpStoreList().then((res) => {
|
getSimpleDeliveryPickUpStoreList().then((data) => {
|
||||||
pickUpStoreList.value = res;
|
pickUpStoreList = data;
|
||||||
});
|
});
|
||||||
|
|
||||||
/** 列表的搜索表单 */
|
/** 列表的搜索表单 */
|
||||||
@@ -227,9 +225,9 @@ export function useGridColumns(): VxeGridPropTypes.Columns {
|
|||||||
return `买家:${row.user?.nickname} / 收货人: ${row.receiverName} ${row.receiverMobile}${row.receiverAreaName}${row.receiverDetailAddress}`;
|
return `买家:${row.user?.nickname} / 收货人: ${row.receiverName} ${row.receiverMobile}${row.receiverAreaName}${row.receiverDetailAddress}`;
|
||||||
}
|
}
|
||||||
if (row.deliveryType === DeliveryTypeEnum.PICK_UP.type) {
|
if (row.deliveryType === DeliveryTypeEnum.PICK_UP.type) {
|
||||||
return `门店名称:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.name} /
|
return `门店名称:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.name} /
|
||||||
门店手机:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.phone} /
|
门店手机:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.phone} /
|
||||||
自提门店:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
|
自提门店:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
|
|||||||
@@ -11,12 +11,9 @@ import { z } from '#/adapter/form';
|
|||||||
import { getDeptList } from '#/api/system/dept';
|
import { getDeptList } from '#/api/system/dept';
|
||||||
import { getSimpleUserList } from '#/api/system/user';
|
import { getSimpleUserList } from '#/api/system/user';
|
||||||
|
|
||||||
|
/** 关联数据 */
|
||||||
let userList: SystemUserApi.User[] = [];
|
let userList: SystemUserApi.User[] = [];
|
||||||
async function getUserData() {
|
getSimpleUserList().then((data) => (userList = data));
|
||||||
userList = await getSimpleUserList();
|
|
||||||
}
|
|
||||||
|
|
||||||
getUserData();
|
|
||||||
|
|
||||||
/** 新增/修改的表单 */
|
/** 新增/修改的表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
|
|||||||
@@ -9,14 +9,9 @@ import { z } from '#/adapter/form';
|
|||||||
import { getTenantPackageList } from '#/api/system/tenant-package';
|
import { getTenantPackageList } from '#/api/system/tenant-package';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
// TODO @xingyu:这个不用 ref 么?
|
/** 关联数据 */
|
||||||
let tenantPackageList: SystemTenantPackageApi.TenantPackage[] = [];
|
let tenantPackageList: SystemTenantPackageApi.TenantPackage[] = [];
|
||||||
|
getTenantPackageList().then((data) => (tenantPackageList = data));
|
||||||
async function getTenantPackageData() {
|
|
||||||
tenantPackageList = await getTenantPackageList();
|
|
||||||
}
|
|
||||||
|
|
||||||
getTenantPackageData();
|
|
||||||
|
|
||||||
/** 新增/修改的表单 */
|
/** 新增/修改的表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
|
|||||||
@@ -9,12 +9,9 @@ import { z } from '#/adapter/form';
|
|||||||
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
|
import { getSimpleArticleCategoryList } from '#/api/mall/promotion/articleCategory';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
|
/** 关联数据 */
|
||||||
let categoryList: MallArticleCategoryApi.ArticleCategory[] = [];
|
let categoryList: MallArticleCategoryApi.ArticleCategory[] = [];
|
||||||
async function getCategoryData() {
|
getSimpleArticleCategoryList().then((data) => (categoryList = data));
|
||||||
categoryList = await getSimpleArticleCategoryList();
|
|
||||||
}
|
|
||||||
|
|
||||||
getCategoryData();
|
|
||||||
|
|
||||||
/** 新增/修改的表单 */
|
/** 新增/修改的表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
|
|||||||
@@ -10,11 +10,9 @@ import { useUserStore } from '@vben/stores';
|
|||||||
import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore';
|
import { getSimpleDeliveryPickUpStoreList } from '#/api/mall/trade/delivery/pickUpStore';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
// TODO @芋艿:统一风格;
|
/** 关联数据 */
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
|
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
|
||||||
|
|
||||||
/** 自提门店列表 */
|
|
||||||
getSimpleDeliveryPickUpStoreList().then((res) => {
|
getSimpleDeliveryPickUpStoreList().then((res) => {
|
||||||
pickUpStoreList.value = res;
|
pickUpStoreList.value = res;
|
||||||
// 移除自己无法核销的门店
|
// 移除自己无法核销的门店
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ import type { VbenFormSchema } from '#/adapter/form';
|
|||||||
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
||||||
import type { MallDeliveryPickUpStoreApi } from '#/api/mall/trade/delivery/pickUpStore';
|
import type { MallDeliveryPickUpStoreApi } from '#/api/mall/trade/delivery/pickUpStore';
|
||||||
|
|
||||||
import { ref } from 'vue';
|
|
||||||
|
|
||||||
import { DeliveryTypeEnum, DICT_TYPE } from '@vben/constants';
|
import { DeliveryTypeEnum, DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
import { convertToInteger, formatToFraction } from '@vben/utils';
|
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 { getAreaTree } from '#/api/system/area';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
const pickUpStoreList = ref<MallDeliveryPickUpStoreApi.PickUpStore[]>([]);
|
/** 关联数据 */
|
||||||
|
let pickUpStoreList: MallDeliveryPickUpStoreApi.PickUpStore[] = [];
|
||||||
getSimpleDeliveryPickUpStoreList().then((res) => {
|
getSimpleDeliveryPickUpStoreList().then((data) => {
|
||||||
pickUpStoreList.value = res;
|
pickUpStoreList = data;
|
||||||
});
|
});
|
||||||
|
|
||||||
/** 列表的搜索表单 */
|
/** 列表的搜索表单 */
|
||||||
@@ -225,9 +223,9 @@ export function useGridColumns(): VxeGridPropTypes.Columns {
|
|||||||
return `买家:${row.user?.nickname} / 收货人: ${row.receiverName} ${row.receiverMobile}${row.receiverAreaName}${row.receiverDetailAddress}`;
|
return `买家:${row.user?.nickname} / 收货人: ${row.receiverName} ${row.receiverMobile}${row.receiverAreaName}${row.receiverDetailAddress}`;
|
||||||
}
|
}
|
||||||
if (row.deliveryType === DeliveryTypeEnum.PICK_UP.type) {
|
if (row.deliveryType === DeliveryTypeEnum.PICK_UP.type) {
|
||||||
return `门店名称:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.name} /
|
return `门店名称:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.name} /
|
||||||
门店手机:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.phone} /
|
门店手机:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.phone} /
|
||||||
自提门店:${pickUpStoreList.value.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
|
自提门店:${pickUpStoreList.find((item) => item.id === row.pickUpStoreId)?.detailAddress}
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
|
|||||||
@@ -11,12 +11,9 @@ import { z } from '#/adapter/form';
|
|||||||
import { getDeptList } from '#/api/system/dept';
|
import { getDeptList } from '#/api/system/dept';
|
||||||
import { getSimpleUserList } from '#/api/system/user';
|
import { getSimpleUserList } from '#/api/system/user';
|
||||||
|
|
||||||
|
/** 关联数据 */
|
||||||
let userList: SystemUserApi.User[] = [];
|
let userList: SystemUserApi.User[] = [];
|
||||||
async function getUserData() {
|
getSimpleUserList().then((data) => (userList = data));
|
||||||
userList = await getSimpleUserList();
|
|
||||||
}
|
|
||||||
|
|
||||||
getUserData();
|
|
||||||
|
|
||||||
/** 新增/修改的表单 */
|
/** 新增/修改的表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
|||||||
component: 'Textarea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入模板内容',
|
placeholder: '请输入模板内容',
|
||||||
|
rows: 4,
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,14 +9,9 @@ import { z } from '#/adapter/form';
|
|||||||
import { getTenantPackageList } from '#/api/system/tenant-package';
|
import { getTenantPackageList } from '#/api/system/tenant-package';
|
||||||
import { getRangePickerDefaultProps } from '#/utils';
|
import { getRangePickerDefaultProps } from '#/utils';
|
||||||
|
|
||||||
// TODO @xingyu:这个不用 ref 么?
|
/** 关联数据 */
|
||||||
let tenantPackageList: SystemTenantPackageApi.TenantPackage[] = [];
|
let tenantPackageList: SystemTenantPackageApi.TenantPackage[] = [];
|
||||||
|
getTenantPackageList().then((data) => (tenantPackageList = data));
|
||||||
async function getTenantPackageData() {
|
|
||||||
tenantPackageList = await getTenantPackageList();
|
|
||||||
}
|
|
||||||
|
|
||||||
getTenantPackageData();
|
|
||||||
|
|
||||||
/** 新增/修改的表单 */
|
/** 新增/修改的表单 */
|
||||||
export function useFormSchema(): VbenFormSchema[] {
|
export function useFormSchema(): VbenFormSchema[] {
|
||||||
|
|||||||
Reference in New Issue
Block a user