import { IApi, IdentityTypeFlags } from "@etsoo/appscript"; import { PersonApi } from "./PersonApi"; import { IServiceApp, ServiceApp } from "@etsoo/materialui"; import { PersonProfileApi } from "./PersonProfileApi"; import { Person } from "./utils/Person"; import { PersonProfile } from "./utils/PersonProfile"; import { SystemApi } from "./SystemApi"; import { System } from "./utils/System"; import { CrmUser } from "./CrmUser"; import { Permissions } from "./dto/system/Permissions"; import { AssetApi } from "./AssetApi"; import { CustomerApi } from "./CustomerApi"; import { DeptApi } from "./DeptApi"; import { GroupApi } from "./GroupApi"; import { OrderApi } from "./OrderApi"; import { POApi } from "./POApi"; import { ProductApi } from "./ProductApi"; import { SupplierApi } from "./SupplierApi"; import { UserApi } from "./UserApi"; import { PersonCategoryApi } from "./PersonCategoryApi"; import { TagApi } from "./TagApi"; import { Product } from "./utils/Product"; import { ProductCategoryApi } from "./ProductCategoryApi"; import { PromotionApi } from "./PromotionApi"; import { PersonAddressApi } from "./PersonAddressApi"; import { PersonContactApi } from "./PersonContactApi"; import { PersonInfoApi } from "./PersonInfoApi"; import { PersonAddress } from "./utils/PersonAddress"; import { PersonProductApi } from "./PersonProductApi"; import { Order } from "./utils/Order"; import { OrderDeliveryApi } from "./OrderDeliveryApi"; import { OrderPaymentApi } from "./OrderPaymentApi"; import { OrderLineApi } from "./OrderLineApi"; import { POLineApi } from "./POLineApi"; import { StockSiteApi } from "./StockSiteApi"; import { StockApi } from "./StockApi"; import { Stock } from "./utils/Stock"; /** * Get CRM app context hook * @returns CRM app */ export declare function useRequiredCrmApp(): ICrmApp; /** * CRM service app interface * CRM 服务应用程序接口 */ export type ICrmServiceApp = IServiceApp & (ICrmApp | { crm: ICrmApp; }); /** * CRM service app base abstract class * CRM 服务应用程序基类抽象类 */ export declare abstract class CrmAppBase extends ServiceApp { /** * Core name */ get coreName(): string; } /** * CRM application interface * CRM应用程序接口 */ export interface ICrmApp { /** * Application * 应用程序 */ get app(): CrmAppBase; /** * Asset API * 资产接口 */ readonly assetApi: AssetApi; /** * Customer API * 客户接口 */ readonly customerApi: CustomerApi; /** * Department API * 部门接口 */ readonly deptApi: DeptApi; /** * Permission group API * 权限组接口 */ readonly groupApi: GroupApi; /** * Order * 订单 */ readonly order: Order; /** * Order API * 订单接口 */ readonly orderApi: OrderApi; /** * Order line API * 订单行接口 */ readonly orderLineApi: OrderLineApi; /** * Order delivery API * 订单交付接口 */ readonly orderDeliveryApi: OrderDeliveryApi; /** * Order payment API * 订单支付接口 */ readonly orderPaymentApi: OrderPaymentApi; /** * Person * 人员 */ readonly person: Person; /** * Person API * 人员接口 */ readonly personApi: PersonApi; /** * Person address * 人员地址 */ readonly personAddress: PersonAddress; /** * Person address API * 人员地址接口 */ readonly personAddressApi: PersonAddressApi; /** * Person contact API * 人员联系人接口 */ readonly personContactApi: PersonContactApi; /** * Person category API * 人员分类接口 */ readonly personCategoryApi: PersonCategoryApi; /** * Person info API * 人员信息接口 */ readonly personInfoApi: PersonInfoApi; /** * Person product API * 人员自定义产品接口 */ readonly personProductApi: PersonProductApi; /** * Person profile * 人员档案 */ readonly profile: PersonProfile; /** * Person profile API * 人员档案接口 */ readonly profileApi: PersonProfileApi; /** * Purchase order API * 采购接口 */ readonly poApi: POApi; /** * Purchase order line API * 采购行接口 */ readonly poLineApi: POLineApi; /** * Product * 产品 */ readonly product: Product; /** * Product category API * 产品分类接口 */ readonly productCategoryApi: ProductCategoryApi; /** * Product API * 产品接口 */ readonly productApi: ProductApi; /** * Promotion API * 促销接口 */ readonly promotionApi: PromotionApi; /** * Stock * 库存 */ readonly stock: Stock; /** * Stock API * 库存接口 */ readonly stockApi: StockApi; /** * Stock site API * 库存点接口 */ readonly stockSiteApi: StockSiteApi; /** * Supplier API * 供应商接口 */ readonly supplierApi: SupplierApi; /** * System * 系统 */ readonly system: System; /** * System API * 系统接口 */ readonly systemApi: SystemApi; /** * Tag API * 标签接口 */ readonly tagApi: TagApi; /** * User API * 用户接口 */ readonly userApi: UserApi; /** * Get person identity type * 获取人员身份类型 * @returns Identity type flags */ getPersonIdentityType(): IdentityTypeFlags; /** * Has review permission for the identity * 是否有查看权限 * @param identity Identity * @returns Result */ hasView(identity: IdentityTypeFlags): boolean; /** * Owns the permission item * 是否有权限项 * @param item Permission item ID * @returns Result */ owns(item: number): boolean; /** * Check if the identity owns the permission item * 检查身份是否拥有权限项 * @param identity Identity type flags * @param name Permission name * @returns Result */ ownsIdentity(identity: IdentityTypeFlags, name: Permissions.IdentityName): boolean; } /** * CRM application * CRM应用程序 */ export declare class CrmApp implements ICrmApp { readonly app: CrmAppBase; readonly api: IApi; private _assetApi?; /** * Asset API * 资产接口 */ get assetApi(): AssetApi; private _customerApi?; /** * Customer API * 客户接口 */ get customerApi(): CustomerApi; private _deptApi?; /** * Department API * 部门接口 */ get deptApi(): DeptApi; private _groupApi?; /** * Permission group API * 权限组接口 */ get groupApi(): GroupApi; private _order?; /** * Order * 订单 */ get order(): Order; private _orderApi?; /** * Order API * 订单接口 */ get orderApi(): OrderApi; private _orderLineApi?; /** * Order line API * 订单行接口 */ get orderLineApi(): OrderLineApi; private _orderDeliveryApi?; /** * Order delivery API * 订单交付接口 */ get orderDeliveryApi(): OrderDeliveryApi; private _orderPaymentApi?; /** * Order payment API * 订单支付接口 */ get orderPaymentApi(): OrderPaymentApi; private _person?; /** * Person * 人员 */ get person(): Person; private _personAddress?; /** * Person address * 人员地址 */ get personAddress(): PersonAddress; private _personApi?; /** * Person API * 人员接口 */ get personApi(): PersonApi; private _personAddressApi?; /** * Person address API * 人员地址接口 */ get personAddressApi(): PersonAddressApi; private _personContactApi?; /** * Person contact API * 人员联系人接口 */ get personContactApi(): PersonContactApi; private _personCategoryApi?; /** * Person category API * 人员分类接口 */ get personCategoryApi(): PersonCategoryApi; private _personInfoApi?; /** * Person info API * 人员信息接口 */ get personInfoApi(): PersonInfoApi; private _personProductApi?; /** * Person product API * 人员自定义产品接口 */ get personProductApi(): PersonProductApi; private _profile?; /** * Person profile * 人员档案 */ get profile(): PersonProfile; private _profileApi?; /** * Person profile API * 人员档案接口 */ get profileApi(): PersonProfileApi; private _poApi?; /** * Purchase order API * 采购接口 */ get poApi(): POApi; private _poLineApi?; /** * Purchase order line API * 采购行接口 */ get poLineApi(): POLineApi; private _product?; /** * Product * 产品 */ get product(): Product; private _productApi?; /** * Product API * 产品接口 */ get productApi(): ProductApi; private _productCategoryApi?; /** * Product category API * 产品分类接口 */ get productCategoryApi(): ProductCategoryApi; private _promotionApi?; /** * Promotion API * 促销接口 */ get promotionApi(): PromotionApi; private _stock?; /** * Stock * 库存 */ get stock(): Stock; private _stockApi?; /** * Stock API * 库存接口 */ get stockApi(): StockApi; private _stockSiteApi?; /** * Stock site API * 库存点接口 */ get stockSiteApi(): StockSiteApi; private _supplierApi?; /** * Supplier API * 供应商接口 */ get supplierApi(): SupplierApi; private _system?; /** * System * 系统 */ get system(): System; private _systemApi?; /** * System API * 系统接口 */ get systemApi(): SystemApi; private _tagApi?; /** * Tag API * 标签接口 */ get tagApi(): TagApi; private _userApi?; /** * User API * 用户接口 */ get userApi(): UserApi; /** * Constructor * 构造函数 * @param app Base application * @param api API */ constructor(app: CrmAppBase, api: IApi); private getIdentityType; /** * Get person identity type * 获取人员身份类型 * @returns Identity type flags */ getPersonIdentityType(): IdentityTypeFlags; /** * Get profile identity type * 获取档案身份类型 * @returns Identity type flags */ getProfileIdentityType(): IdentityTypeFlags; /** * Has review permission for the identity * 是否有查看权限 * @param identity Identity * @returns Result */ hasView(identity: IdentityTypeFlags): boolean; /** * Owns the permission item * 是否有权限项 * @param item Permission item ID * @returns Result */ owns(item: number): boolean; /** * Check if the identity owns the permission item * 检查身份是否拥有权限项 * @param identity Identity type flags * @param name Permission name * @returns Result */ ownsIdentity(identity: IdentityTypeFlags, name: Permissions.IdentityName): boolean; }