| | |
| | | "MaybeRef": true, |
| | | "MaybeRefOrGetter": true, |
| | | "NODE_ENV": true, |
| | | "TabBarPageRouterList": true |
| | | "TabBarPageRouterList": true, |
| | | "useaa": true, |
| | | "useEnterpriseAddresses": true |
| | | } |
| | | } |
| | |
| | | const useAuth: typeof import('./src/hooks/user')['useAuth'] |
| | | const useCssModule: typeof import('vue')['useCssModule'] |
| | | const useCssVars: typeof import('vue')['useCssVars'] |
| | | const useEnterpriseAddresses: typeof import('./src/hooks/enterprise')['useEnterpriseAddresses'] |
| | | const useGoLogin: typeof import('./src/hooks/user')['useGoLogin'] |
| | | const useId: typeof import('vue')['useId'] |
| | | const useIsLogin: typeof import('./src/hooks/user')['useIsLogin'] |
| | |
| | | const useTemplateRef: typeof import('vue')['useTemplateRef'] |
| | | const useUser: typeof import('./src/hooks/user')['useUser'] |
| | | const useUserResume: typeof import('./src/hooks/user')['useUserResume'] |
| | | const useaa: typeof import('./src/hooks/enterprise')['useaa'] |
| | | const watch: typeof import('vue')['watch'] |
| | | const watchEffect: typeof import('vue')['watchEffect'] |
| | | const watchPostEffect: typeof import('vue')['watchPostEffect'] |
| | |
| | | readonly useAuth: UnwrapRef<typeof import('./src/hooks/user')['useAuth']> |
| | | readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']> |
| | | readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']> |
| | | readonly useEnterpriseAddresses: UnwrapRef<typeof import('./src/hooks/enterprise')['useEnterpriseAddresses']> |
| | | readonly useGoLogin: UnwrapRef<typeof import('./src/hooks/user')['useGoLogin']> |
| | | readonly useId: UnwrapRef<typeof import('vue')['useId']> |
| | | readonly useIsLogin: UnwrapRef<typeof import('./src/hooks/user')['useIsLogin']> |
| | |
| | | "description": "", |
| | | "setting": { |
| | | "urlCheck": false, |
| | | "es6": true, |
| | | "enhance": true, |
| | | "es6": false, |
| | | "enhance": false, |
| | | "postcss": false, |
| | | "preloadBackgroundData": false, |
| | | "minified": false, |
| | |
| | | "miniprogram": { |
| | | "list": [ |
| | | { |
| | | "name": "é¢çº¦ä¸å", |
| | | "pathName": "subpackages/sercice/addStandardOrder/addStandardOrder", |
| | | "query": "specNumber=1&specId=72ec3beb-90dc-473b-d214-08de429af188&id=53208c5d-a823-40d3-e79e-08de429af17b", |
| | | "scene": null, |
| | | "launchMode": "default" |
| | | }, |
| | | { |
| | | "name": "æ°å¢å°å", |
| | | "pathName": "subpackages/mine/editAddress/editAddress", |
| | | "query": "id=53208c5d-a823-40d3-e79e-08de429af17b", |
| | | "scene": null, |
| | | "launchMode": "default" |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "æå¡è¯¦æ
", |
| | |
| | | font-weight: 600; |
| | | font-size: 32px; |
| | | color: #ff3949; |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .standard-service-card-content-suffix { |
| | |
| | | import * as electronSignServices from '@12333/services/apiV2/electronSign'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import { getUserCertificationFrontStatusAdapter } from '@12333/utils'; |
| | | import { UserCertificationFrontStatus } from '@12333/constants'; |
| | | import { useUser } from './user'; |
| | | |
| | | type UseMyCertificationAuditInfoOptions = { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import { useInfiniteLoading } from '@12333/hooks'; |
| | | import Taro from '@tarojs/taro'; |
| | | import * as enterpriseServices from '@12333/services/apiV2/enterprise'; |
| | | |
| | | type UseEnterpriseAddressesOptions = { |
| | | rows?: number; |
| | | }; |
| | | |
| | | export function useEnterpriseAddresses(options: UseEnterpriseAddressesOptions = {}) { |
| | | const { rows = 20 } = options; |
| | | |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetEnterpriseAddressesQuery = { |
| | | pageModel: { |
| | | rows: rows, |
| | | page: pageParam, |
| | | }, |
| | | }; |
| | | |
| | | return enterpriseServices.getEnterpriseAddresses(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['enterpriseServices/getEnterpriseAddresses', rows], |
| | | } |
| | | ); |
| | | |
| | | return { infiniteLoadingProps, invalidateQueries }; |
| | | } |
| | |
| | | export * from './login'; |
| | | export * from './authentication'; |
| | | export * from './app'; |
| | | export * from './enterprise'; |
| | |
| | | import { useUserStore } from '@/stores/modules/user'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { object2query, LocationUtils } from '@12333/utils'; |
| | | import { |
| | | EnumUserBankCardAccess, |
| | | ParkOrHRStatus, |
| | | UserCertificationFrontStatus, |
| | | } from '@12333/constants'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import { MaybeRef } from 'vue'; |
| | | import { useRefeshDidShow } from '@12333/hooks/infiniteLoading'; |
| | | import * as userResumeServices from '@12333/services/apiV2/userResume'; |
| | | import { useUserResume as useUserResumeHook } from '@12333/hooks'; |
| | | |
| | | export function useUser() { |
| | |
| | | |
| | | export function useShowAdvertisements() { |
| | | const { data: advertisements, refetch } = useQuery({ |
| | | queryKey: ['enterpriseWalletServices/getEnterpriseWalletAccessSelect'], |
| | | queryKey: ['advertisementServices/getShowAdvertisements'], |
| | | queryFn: () => { |
| | | return advertisementServices.getShowAdvertisements( |
| | | { |
| | |
| | | import { setOSSLink, trim } from '@12333/utils'; |
| | | import * as standardServiceServices from '@12333/services/apiV2/standardService'; |
| | | import { EnumPagedListOrder, EnumStandardServiceReleaseStatus } from '@12333/constants'; |
| | | import { useSystemStore } from '@/stores/modules/system'; |
| | | |
| | | const { locationCity } = useUser(); |
| | | |
| | |
| | | } |
| | | |
| | | const switchTab = useSwitchTab(); |
| | | const systemStore = useSystemStore(); |
| | | |
| | | function goService(item: API.SelectOptionStringGetDictionaryDataSelectQueryResultOption) { |
| | | systemStore.setServicePageJobCode(item.value); |
| | | switchTab({ |
| | | url: `${RouterPath.service}?id=${item.value}`, |
| | | url: `${RouterPath.service}`, |
| | | }); |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <nut-category :category="category" @change="change" class="category-page-inner"> |
| | | <ProCategory ref="categoryRef" :category="category" @change="change" class="category-page-inner"> |
| | | <nut-category-pane :categoryChild="data.categoryChild" @onChange="onChange"> |
| | | </nut-category-pane> |
| | | </nut-category> |
| | | </ProCategory> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import Taro from '@tarojs/taro'; |
| | | import { useCheckReceiveTasks, useDictionaryDataSelect, useTaskList } from '@12333/hooks'; |
| | | import { CategoryCode, PositionCodeEnum } from '@12333/constants'; |
| | | import dayjs from 'dayjs'; |
| | | import { categorydata } from './3x_categoryData'; |
| | | import { useDictionaryDataSelect, useStandardServiceList } from '@12333/hooks'; |
| | | import { CategoryCode, EnumStandardServiceReleaseStatus, PositionCodeEnum } from '@12333/constants'; |
| | | import { setOSSLink } from '@12333/utils'; |
| | | import { ProCategory } from '@12333/components'; |
| | | import { useSystemStore } from '@/stores/modules/system'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const router = Taro.useRouter(); |
| | | const id = router.params?.id ?? ''; |
| | | const systemStore = useSystemStore(); |
| | | const { servicePageJobCode } = storeToRefs(systemStore); |
| | | |
| | | const categoryRef = ref(); |
| | | |
| | | const data = reactive({ |
| | | categoryInfo: categorydata.categoryInfo, |
| | | category: categorydata.categoryInfo.category, |
| | | categoryChild: categorydata.categoryChild, |
| | | category: [], |
| | | categoryChild: [], |
| | | }); |
| | | |
| | | const { dictionaryDataList: positionList } = useDictionaryDataSelect({ |
| | | const { dictionaryDataList: positionList, ensureQueryData } = useDictionaryDataSelect({ |
| | | categoryCode: CategoryCode.Position, |
| | | field1: PositionCodeEnum.Housekeeping, |
| | | }); |
| | | |
| | | const { ensureStandardServiceList, standardServiceListForCategoryMap } = useStandardServiceList({ |
| | | params: { |
| | | releaseStatus: EnumStandardServiceReleaseStatus.InProcess, |
| | | }, |
| | | }); |
| | | |
| | | onMounted(async () => { |
| | | try { |
| | | await Promise.all([ensureQueryData(), ensureStandardServiceList()]); |
| | | if (positionList.value.length > 0 && categoryRef.value) { |
| | | initCategory(); |
| | | // const first = positionList.value[0]; |
| | | // data.categoryChild = convertCategoryChild( |
| | | // first.value, |
| | | // standardServiceListForCategoryMap.value[first.value] |
| | | // ); |
| | | } |
| | | } catch (error) {} |
| | | }); |
| | | |
| | | function initCategory() { |
| | | const currentIndex = Math.max( |
| | | positionList.value.findIndex((x) => x.value === servicePageJobCode.value), |
| | | 0 |
| | | ); |
| | | categoryRef.value.getChildList(currentIndex); |
| | | systemStore.setServicePageJobCode(''); |
| | | } |
| | | |
| | | watch(servicePageJobCode, () => { |
| | | if (servicePageJobCode.value) { |
| | | initCategory(); |
| | | } |
| | | }); |
| | | |
| | | function convertCategoryChild(jobCode: string, list: API.GetStandardServicesQueryResultItem[]) { |
| | | const categoryChild = { |
| | | catId: jobCode, |
| | | catName: '', |
| | | catLevel: 2, |
| | | catType: 1, |
| | | childCateList: [], |
| | | }; |
| | | if (list?.length > 0) { |
| | | categoryChild.childCateList = list.map((x) => ({ |
| | | backImg: setOSSLink(x.file), |
| | | catId: x.id, |
| | | catName: x.name, |
| | | showPic: true, |
| | | showVideo: false, |
| | | })); |
| | | } |
| | | return [categoryChild]; |
| | | } |
| | | |
| | | const category = computed(() => |
| | | positionList.value.map((x) => ({ |
| | | ...x, |
| | |
| | | ); |
| | | |
| | | const change = (index: number) => { |
| | | data.categoryChild = [].concat(data.categoryInfo.category[index + 1].children); |
| | | const current = positionList.value[index]; |
| | | data.categoryChild = convertCategoryChild( |
| | | current.value, |
| | | standardServiceListForCategoryMap.value[current.value] |
| | | ); |
| | | }; |
| | | const onChange = () => { |
| | | console.log('å½ååç±»æ°æ®'); |
| | | const onChange = (ev) => { |
| | | console.log('å½ååç±»æ°æ®', ev); |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.serciceDetail}?id=${ev.catId}`, |
| | | }); |
| | | }; |
| | | </script> |
| | | |
| | |
| | | redirectPath: string; |
| | | isTabSwitch: boolean; |
| | | isFirstEnter: boolean; |
| | | |
| | | servicePageJobCode: string; |
| | | } |
| | | |
| | | export const useSystemStore = defineStore({ |
| | |
| | | menuButtonTop: 0, |
| | | |
| | | isFirstEnter: true, |
| | | |
| | | servicePageJobCode: '', |
| | | }), |
| | | |
| | | actions: { |
| | |
| | | this.options = options; // æ¾ä¸ä¸é¡µé¢ç¸å
³çæ°æ®ä¾å¦sceneç 页é¢é«åº¦ä¹ç±»çä¸åï¼ |
| | | }, |
| | | |
| | | setServicePageJobCode(jobCode: string) { |
| | | this.servicePageJobCode = jobCode; |
| | | }, |
| | | |
| | | setInfo(info: Taro.getSystemInfoSync.Result) { |
| | | this.info = info; |
| | | console.log('info: ', info); |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { useInfiniteLoading, useTaskList } from '@12333/hooks'; |
| | | import { useInfiniteLoading } from '@12333/hooks'; |
| | | import Taro from '@tarojs/taro'; |
| | | import * as enterpriseServices from '@12333/services/apiV2/enterprise'; |
| | | import { Message } from '@12333/utils'; |
| | |
| | | goAddress(item.id); |
| | | }; |
| | | |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetEnterpriseAddressesQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | }, |
| | | }; |
| | | |
| | | return enterpriseServices.getEnterpriseAddresses(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['enterpriseServices/getEnterpriseAddresses'], |
| | | } |
| | | ); |
| | | const { infiniteLoadingProps, invalidateQueries } = useEnterpriseAddresses(); |
| | | |
| | | function goAddress(id?: string) { |
| | | Taro.navigateTo({ |
| | |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | orderInput: [ |
| | | { property: 'createdTime', order: EnumPagedListOrder.Desc }, |
| | | { property: 'recommendStatus', order: EnumPagedListOrder.Desc }, |
| | | ], |
| | | orderInput: [{ property: 'collectionTime', order: EnumPagedListOrder.Desc }], |
| | | }, |
| | | releaseStatus: queryState.releaseStatus, |
| | | isCollected: queryState.isCollected, |
| | |
| | | <template> |
| | | <!-- <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> --> |
| | | <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> |
| | | <ContentScrollView hasPaddingTop> |
| | | <MineServiceDetailView /> |
| | | <ServiceDetailAddressCard |
| | | :name="defaultAddress?.name ?? ''" |
| | | :contactPhoneNumber="defaultAddress?.contactPhoneNumber ?? ''" |
| | | :addressDetail="defaultAddress?.addressDetail ?? ''" |
| | | /> |
| | | <div class="addStandardOrder-detail-card"> |
| | | <nut-card |
| | | :img-url="'//img10.360buyimg.com/n2/s240x240_jfs/t1/210890/22/4728/163829/6163a590Eb7c6f4b5/6390526d49791cb9.jpg!q70.jpg'" |
| | | :title="detail?.name ?? ''" |
| | | :price="toThousand(spec?.price ?? 0)" |
| | | class="service-good-card" |
| | | > |
| | | <template #prolist> |
| | | <div class="card-tag-list"> |
| | | <span class="tag">{{ spec?.name }}</span> |
| | | </div> |
| | | </template> |
| | | <template #origin> |
| | | <div></div> |
| | | </template> |
| | | <template #footer> |
| | | <div class="card-footer">x{{ specNumber }}</div> |
| | | </template> |
| | | </nut-card> |
| | | </div> |
| | | </ContentScrollView> |
| | | <PageFooter> |
| | | <PageFooterBtn type="primary" class="business-card-btn" @click="goCancel" |
| | | >åæ¶æå¡</PageFooterBtn |
| | | > |
| | | <PageFooterBtn type="primary" class="business-card-btn" @click="goConfirm" |
| | | >æå¡ç¡®è®¤</PageFooterBtn |
| | | >ç«å³ä¸å</PageFooterBtn |
| | | > |
| | | </PageFooter> |
| | | <!-- </LoadingLayout> --> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { MineServiceDetailView } from '@12333/components'; |
| | | import { ServiceDetailAddressCard } from '@12333/components'; |
| | | import Taro from '@tarojs/taro'; |
| | | import * as standardServiceServices from '@12333/services/apiV2/standardService'; |
| | | import { RouterPath } from '@/constants'; |
| | | import { useStandardServiceDetail } from '@12333/hooks'; |
| | | import { toThousand } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const route = Taro.useRouter(); |
| | | const id = route.params?.id as string; |
| | | const id = route.params?.id ?? ''; |
| | | const specId = route.params?.specId ?? ''; |
| | | const specNumber = Number(route.params?.specNumber); |
| | | |
| | | const { isLoading, isError, detail, refetch } = useStandardServiceDetail({ |
| | | id, |
| | | }); |
| | | |
| | | const spec = computed(() => { |
| | | if (detail.value.specs?.length > 0) { |
| | | return detail.value.specs.find((x) => x.id === specId); |
| | | } |
| | | return null; |
| | | }); |
| | | |
| | | const { infiniteLoadingProps } = useEnterpriseAddresses({ |
| | | rows: 100, |
| | | }); |
| | | |
| | | const defaultAddress = computed(() => { |
| | | const address = infiniteLoadingProps.value.flattenListData.find((item) => item.isDefault); |
| | | return address || infiniteLoadingProps.value.flattenListData[0]; |
| | | }); |
| | | |
| | | function goCancel() { |
| | | Taro.navigateTo({ |
| | |
| | | |
| | | // åºé¨æä½æé®è§¦å |
| | | const clickBtnOperate = (op: { type: string; value: number }) => { |
| | | // addStandardOrder(op.value); |
| | | Message.warning('æ¯ä»ç³»ç»ç»´æ¤ä¸ï¼è¯·ç¨åé¢çº¦'); |
| | | goAddStandardOrder(op.value); |
| | | }; |
| | | |
| | | const openSkuDialog = () => { |
| | |
| | | }; |
| | | |
| | | const goAddStandardOrder = useAccessLogin((specNumber: number) => { |
| | | const spec = SkuUtils.getCurrentActiveSpec(skuState.sku); |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.addStandardOrder}?specNumber=${specNumber}`, |
| | | url: `${RouterPath.addStandardOrder}?specNumber=${specNumber}&specId=${spec.id}&id=${id}`, |
| | | }); |
| | | }); |
| | | |
| | |
| | | font-size: 48px; |
| | | color: #ff6414; |
| | | line-height: 52px; |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .serciceDetail-price-unit { |
| | |
| | | <template> |
| | | <div class="mine-service-detail-view-wrapper"> |
| | | <div class="mine-service-detail-view-address mine-service-detail-card"> |
| | | <div class="mine-service-detail-view-title-wrapper"> |
| | | <div class="mine-service-detail-view-title">æå¡å°å</div> |
| | | </div> |
| | | <div class="mine-service-detail-view-item">æµæ±ç宿³¢å¸éå·åºæ²³æ¸
åè·¯55å·å浪大å¦24å±</div> |
| | | <div class="mine-service-detail-view-item">é³é³ 13333333333</div> |
| | | </div> |
| | | <div class="mine-service-detail-card"> |
| | | <nut-card |
| | | :img-url="'//img10.360buyimg.com/n2/s240x240_jfs/t1/210890/22/4728/163829/6163a590Eb7c6f4b5/6390526d49791cb9.jpg!q70.jpg'" |
| | | :title="'æå¡åç§°'" |
| | | :price="'155.00'" |
| | | > |
| | | <template #prolist> |
| | | <div class="card-tag-list"> |
| | | <span class="tag">æ´»é²</span> |
| | | <span class="tag">礼ç</span> |
| | | <span class="tag">å½äº§</span> |
| | | </div> |
| | | </template> |
| | | <template #origin> |
| | | <div></div> |
| | | </template> |
| | | </nut-card> |
| | | </div> |
| | | <ServiceDetailAddressCard |
| | | :name="contactName" |
| | | :contactPhoneNumber="contactPhoneNumber" |
| | | :addressDetail="addressDetail" |
| | | /> |
| | | <ServiceDetailGoodCard |
| | | :name="serviceName" |
| | | :price="price" |
| | | :specName="specName" |
| | | :specNumber="specNumber" |
| | | :imgUrl="imgUrl" |
| | | /> |
| | | |
| | | <List> |
| | | <ListItem title="订åç¶æ" :showArrow="false"> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import Taro from '@tarojs/taro'; |
| | | import { List, ListItem } from '@12333/components'; |
| | | import List from '../List/List.vue'; |
| | | import ListItem from '../List/ListItem.vue'; |
| | | import ServiceDetailAddressCard from './ServiceDetailAddressCard.vue'; |
| | | import ServiceDetailGoodCard from './ServiceDetailGoodCard.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'MineServiceDetailView', |
| | | }); |
| | | |
| | | // type Props = { |
| | | type Props = { |
| | | contactName?: string; |
| | | /** èç³»çµè¯ */ |
| | | contactPhoneNumber?: string; |
| | | /** çå¸åº+详ç»å°å+é¨çå· */ |
| | | addressDetail?: string; |
| | | serviceName?: string; |
| | | price?: number; |
| | | specName?: string; |
| | | specNumber?: number; |
| | | imgUrl?: string; |
| | | }; |
| | | |
| | | // } |
| | | |
| | | // const props = withDefaults(defineProps<Props>(), { |
| | | |
| | | // }) |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | |
| | | margin-bottom: 24px; |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | .card-tag-list { |
| | | margin: 6px 0 2px; |
| | | height: 30px; |
| | | overflow: hidden; |
| | | display: flex; |
| | | |
| | | .tag { |
| | | padding: 0 10px; |
| | | border-radius: 2px; |
| | | font-size: 20px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | color: #999; |
| | | background-color: #f2f2f7; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-address { |
| | | .mine-service-detail-view-title-wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 14px; |
| | | |
| | | .mine-service-detail-view-title { |
| | | flex: 1; |
| | | min-width: 0; |
| | | @include ellipsis; |
| | | font-size: 30px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | line-height: 42px; |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-item { |
| | | font-weight: 400; |
| | | @include ellipsis; |
| | | font-size: 24px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | line-height: 36px; |
| | | |
| | | & + .mine-service-detail-view-item { |
| | | margin-top: 14px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-list-item { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="mine-service-detail-view-address"> |
| | | <div class="mine-service-detail-view-title-wrapper"> |
| | | <div class="mine-service-detail-view-title">æå¡å°å</div> |
| | | </div> |
| | | <div class="mine-service-detail-view-item">{{ addressDetail }}</div> |
| | | <div class="mine-service-detail-view-item">{{ name }} {{ contactPhoneNumber }}</div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | defineOptions({ |
| | | name: 'ServiceDetailAddressCard', |
| | | }); |
| | | |
| | | type Props = { |
| | | name?: string; |
| | | /** èç³»çµè¯ */ |
| | | contactPhoneNumber?: string; |
| | | /** çå¸åº+详ç»å°å+é¨çå· */ |
| | | addressDetail?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .mine-service-detail-view-address { |
| | | padding: 24px 32px; |
| | | margin-bottom: 24px; |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | .mine-service-detail-view-title-wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 14px; |
| | | |
| | | .mine-service-detail-view-title { |
| | | flex: 1; |
| | | min-width: 0; |
| | | @include ellipsis; |
| | | font-size: 30px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | line-height: 42px; |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-item { |
| | | font-weight: 400; |
| | | @include ellipsis; |
| | | font-size: 24px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | line-height: 36px; |
| | | |
| | | & + .mine-service-detail-view-item { |
| | | margin-top: 14px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="service-detail-good-card"> |
| | | <nut-card |
| | | :img-url="setOSSLink(imgUrl)" |
| | | :title="name ?? ''" |
| | | :price="toThousand(price ?? 0)" |
| | | class="service-good-card" |
| | | > |
| | | <template #prolist> |
| | | <div class="card-tag-list"> |
| | | <span class="tag">{{ specName }}</span> |
| | | </div> |
| | | </template> |
| | | <template #origin> |
| | | <div></div> |
| | | </template> |
| | | <template #footer> |
| | | <div class="card-footer">x{{ specNumber }}</div> |
| | | </template> |
| | | </nut-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { toThousand, setOSSLink } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'ServiceDetailGoodCard', |
| | | }); |
| | | |
| | | type Props = { |
| | | name?: string; |
| | | price?: number; |
| | | specName?: string; |
| | | specNumber?: number; |
| | | imgUrl?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .service-detail-good-card { |
| | | padding: 24px 32px; |
| | | margin-bottom: 24px; |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | .card-tag-list { |
| | | margin: 6px 0 2px; |
| | | height: 30px; |
| | | overflow: hidden; |
| | | display: flex; |
| | | |
| | | .tag { |
| | | padding: 0 10px; |
| | | border-radius: 2px; |
| | | font-size: 20px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | color: #999; |
| | | background-color: #f2f2f7; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | |
| | | .nut-card__right__shop { |
| | | /* flex: 1; |
| | | min-height: 0; */ |
| | | } |
| | | |
| | | .card-footer { |
| | | /* justify-content: flex-end; */ |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | } |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="nut-category"> |
| | | <div class="nut-category__cateList"> |
| | | <div v-if="type == 'classify' || type == 'text'"> |
| | | <div v-for="(item, index) in category" :key="index" class="nut-category__cateListLeft"> |
| | | <div |
| | | :class="[ |
| | | checkIndex == index |
| | | ? 'nut-category__cateListItemChecked' |
| | | : 'nut-category__cateListItem', |
| | | ]" |
| | | @click="getChildList(index)" |
| | | > |
| | | {{ item.catName }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <slot></slot> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { ref } from 'vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'ProCategory', |
| | | }); |
| | | |
| | | type CategoryType = { |
| | | catName?: string; |
| | | [key: string]: any; |
| | | }; |
| | | |
| | | type Props = { |
| | | type?: 'classify' | 'text' | 'custom'; |
| | | category?: CategoryType[]; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | type: 'classify', |
| | | category: () => [], |
| | | }); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'change', index: number): void; |
| | | }>(); |
| | | |
| | | const checkIndex = ref(0); |
| | | const categoryLeft = ref(false); //æ¯å¦æ¾ç¤ºslot |
| | | |
| | | const getChildList = (index: number) => { |
| | | checkIndex.value = index; |
| | | emit('change', index); |
| | | }; |
| | | |
| | | defineExpose({ getChildList }); |
| | | </script> |
| | |
| | | |
| | | const selectSku = (ss) => { |
| | | const { sku, skuIndex, parentSku, parentIndex } = ss; |
| | | console.log('sku: ', sku); |
| | | if (sku.disable) return false; |
| | | props.sku[parentIndex].list.forEach((s) => { |
| | | s.active = s.id == sku.id; |
| | |
| | | goods.value = { |
| | | ...goods.value, |
| | | skuId: sku.id, |
| | | price: toThousand(sku.price), |
| | | price: sku.price, |
| | | }; |
| | | }; |
| | | |
| | |
| | | export { default as Sku } from './Sku/Sku.vue'; |
| | | export * from './Sku/sku'; |
| | | export { default as SquareView } from './Chunk/SquareView.vue'; |
| | | export { default as ProCategory } from './Category/Category.vue'; |
| | | export { default as ServiceDetailAddressCard } from './Card/ServiceDetailAddressCard.vue'; |
| | | export { default as ServiceDetailGoodCard } from './Card/ServiceDetailGoodCard.vue'; |
| | |
| | | Pass = 30, |
| | | } |
| | | |
| | | /** æ¥è¯¢æ å订åå页å表-éå¶åºæ¯ */ |
| | | export enum EnumGetStandardOrdersQueryScene { |
| | | /**é¢çº¦è®¢å */ |
| | | Appointment = 10, |
| | | /**æ¯ä»è®¢å */ |
| | | Pay = 20, |
| | | /**ç»ç®è®¢å */ |
| | | Settlement = 30, |
| | | } |
| | | |
| | | /** æä¿ä¾åºåè´¦å· */ |
| | | export enum EnumInsuranceSupplierAccess { |
| | | /**人èµå */ |
| | |
| | | Cancelled = 30, |
| | | } |
| | | |
| | | /** æ å订å鿬¾ç¶æ */ |
| | | export enum EnumStandardOrderRefundStatus { |
| | | /**å¾
鿬¾ */ |
| | | Wait = 10, |
| | | /**已鿬¾ */ |
| | | Completed = 20, |
| | | /**鿬¾å¤±è´¥ */ |
| | | Fail = 30, |
| | | } |
| | | |
| | | /** æ å订åç»ç®ç¶æ */ |
| | | export enum EnumStandardOrderSettlementStatus { |
| | | /**å¾
ç»ç® */ |
| | |
| | | return queryClient.ensureQueryData< |
| | | API.SelectOptionStringGetDictionaryDataSelectQueryResultOption[] |
| | | >({ |
| | | queryKey: ['dictionaryServices/getDictionaryDataSelect'], |
| | | queryKey: ['dictionaryServices/getDictionaryDataSelect', params], |
| | | }); |
| | | } |
| | | |
| | | function updateDictionaryDataSelect(categoryId?: string) { |
| | | queryClient.invalidateQueries({ |
| | | queryKey: ['dictionaryServices/getDictionaryDataSelect'], |
| | | queryKey: ['dictionaryServices/getDictionaryDataSelect', params], |
| | | }); |
| | | } |
| | | |
| | |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import * as standardServiceServices from '@12333/services/apiV2/standardService'; |
| | | import { computed, MaybeRef, unref } from 'vue'; |
| | | import { groupBy } from 'lodash'; |
| | | |
| | | type UseStandardServiceDetailOptions = { |
| | | id: MaybeRef<string>; |
| | |
| | | minPrice, |
| | | }; |
| | | } |
| | | |
| | | type UseStandardServiceListOptions = { |
| | | params?: MaybeRef<API.GetOpenStandardServiceListQuery>; |
| | | onSuccess?: (data: API.GetStandardServicesQueryResultItem[]) => any; |
| | | }; |
| | | |
| | | export function useStandardServiceList(options: UseStandardServiceListOptions = {}) { |
| | | const { params = {}, onSuccess } = options; |
| | | const { |
| | | data: standardServiceList, |
| | | refetch, |
| | | isLoading, |
| | | isError, |
| | | } = useQuery({ |
| | | queryKey: ['standardServiceServices/getOpenStandardServiceList', params], |
| | | queryFn: async () => { |
| | | return await standardServiceServices.getOpenStandardServiceList(unref(params), { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | placeholderData: () => [] as API.GetStandardServicesQueryResultItem[], |
| | | onSuccess(data) { |
| | | onSuccess?.(data); |
| | | }, |
| | | }); |
| | | |
| | | const standardServiceListForCategory = computed(() => { |
| | | return standardServiceList.value.map((x) => ({ |
| | | ...x, |
| | | catName: x.name, |
| | | })); |
| | | }); |
| | | |
| | | const standardServiceListForCategoryMap = computed(() => { |
| | | const group = groupBy(standardServiceListForCategory.value, 'jobCode'); |
| | | return group; |
| | | }); |
| | | |
| | | const queryClient = useQueryClient(); |
| | | |
| | | function ensureStandardServiceList() { |
| | | return queryClient.ensureQueryData<API.GetStandardServicesQueryResultItem[]>({ |
| | | queryKey: ['standardServiceServices/getOpenStandardServiceList', params], |
| | | }); |
| | | } |
| | | |
| | | return { |
| | | standardServiceList, |
| | | ensureStandardServiceList, |
| | | standardServiceListForCategory, |
| | | standardServiceListForCategoryMap, |
| | | }; |
| | | } |
| | |
| | | import * as logRecords from './logRecords'; |
| | | import * as dictionary from './dictionary'; |
| | | import * as taskCheckReceive from './taskCheckReceive'; |
| | | import * as standardOrder from './standardOrder'; |
| | | import * as standardService from './standardService'; |
| | | import * as userResume from './userResume'; |
| | | import * as auth from './auth'; |
| | | import * as taskUser from './taskUser'; |
| | | import * as enterpriseInsuranceProduct from './enterpriseInsuranceProduct'; |
| | | import * as standardOrder from './standardOrder'; |
| | | import * as eventUtils from './eventUtils'; |
| | | import * as enterpriseCooperationWallet from './enterpriseCooperationWallet'; |
| | | import * as insuranceProduct from './insuranceProduct'; |
| | |
| | | logRecords, |
| | | dictionary, |
| | | taskCheckReceive, |
| | | standardOrder, |
| | | standardService, |
| | | userResume, |
| | | auth, |
| | | taskUser, |
| | | enterpriseInsuranceProduct, |
| | | standardOrder, |
| | | eventUtils, |
| | | enterpriseCooperationWallet, |
| | | insuranceProduct, |
| | |
| | | ); |
| | | } |
| | | |
| | | /** æ åè®¢åæ ¡éªéæ¬¾ç»æ POST /api/flexjob/standardOrder/checkRefundStandardOrder */ |
| | | export async function checkRefundStandardOrder( |
| | | body: API.CheckRefundStandardOrderCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.CheckRefundStandardOrderCommandResult>( |
| | | '/api/flexjob/standardOrder/checkRefundStandardOrder', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** æ¥è¯¢æ å订å详æ
GET /api/flexjob/standardOrder/getStandardOrder */ |
| | | export async function getStandardOrder( |
| | | // å å çæçParamç±»å (ébodyåæ°swaggeré»è®¤æ²¡æçæå¯¹è±¡) |
| | |
| | | }); |
| | | } |
| | | |
| | | /** æ¥è¯¢æ å订åé¢çº¦å页å表 POST /api/flexjob/standardOrder/getStandardOrderAppointments */ |
| | | export async function getStandardOrderAppointments( |
| | | body: API.GetStandardOrderAppointmentsQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetStandardOrderAppointmentsQueryResult>( |
| | | '/api/flexjob/standardOrder/getStandardOrderAppointments', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** æ¥è¯¢æ åè®¢åæ¯ä»å页å表 POST /api/flexjob/standardOrder/getStandardOrderPays */ |
| | | export async function getStandardOrderPays( |
| | | body: API.GetStandardOrderPaysQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetStandardOrderPaysQueryResult>( |
| | | '/api/flexjob/standardOrder/getStandardOrderPays', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** æ¥è¯¢æ å订åå页å表 POST /api/flexjob/standardOrder/getStandardOrders */ |
| | | export async function getStandardOrders( |
| | | body: API.GetStandardOrdersQuery, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** æ¥è¯¢æ å订åç»ç®å页å表 POST /api/flexjob/standardOrder/getStandardOrderSettlements */ |
| | | export async function getStandardOrderSettlements( |
| | | body: API.GetStandardOrderSettlementsQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetStandardOrderSettlementsQueryResult>( |
| | | '/api/flexjob/standardOrder/getStandardOrderSettlements', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** æ åè®¢åæ¯ä» POST /api/flexjob/standardOrder/payStandardOrder */ |
| | | export async function payStandardOrder( |
| | | body: API.PayStandardOrderCommand, |
| | |
| | | ); |
| | | } |
| | | |
| | | /** æ¥è¯¢å¼æ¾æ å订åæå¡å页å表 POST /api/flexjob/standardService/getOpenStandardServiceList */ |
| | | export async function getOpenStandardServiceList( |
| | | body: API.GetOpenStandardServiceListQuery, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetStandardServicesQueryResultItem[]>( |
| | | '/api/flexjob/standardService/getOpenStandardServiceList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** æ¥è¯¢å¼æ¾æ å订åæå¡å页å表 POST /api/flexjob/standardService/getOpenStandardServices */ |
| | | export async function getOpenStandardServices( |
| | | body: API.GetOpenStandardServicesQuery, |
| | |
| | | |
| | | interface CheckPayStandardOrderCommandResult { |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | /** æ¯ä»æ¶é´ */ |
| | | payTime?: string; |
| | | /** æ¯ä»å®ææ¶é´ */ |
| | | payCompletedTime?: string; |
| | | } |
| | | |
| | | interface CheckReceiveTaskCommand { |
| | |
| | | checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus; |
| | | } |
| | | |
| | | interface CheckRefundStandardOrderCommand { |
| | | /** 订åIdï¼äºéä¸ï¼ */ |
| | | id?: string; |
| | | /** 鿬¾äº¤æç¼å·ï¼äºéä¸ï¼ */ |
| | | refundCode?: string; |
| | | } |
| | | |
| | | interface CheckRefundStandardOrderCommandResult { |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | /** æ¯ä»æ¶é´ */ |
| | | payTime?: string; |
| | | /** æ¯ä»å®ææ¶é´ */ |
| | | payCompletedTime?: string; |
| | | refundStatus?: EnumStandardOrderRefundStatus; |
| | | /** 鿬¾æ¶é´ */ |
| | | refundTime?: string; |
| | | /** 鿬¾å®ææ¶é´ */ |
| | | refundCompletedTime?: string; |
| | | } |
| | | |
| | | type ChooseWxmpPhoneNumberCommand = Record<string, any>; |
| | | |
| | | type ClearTaskCollectCommand = Record<string, any>; |
| | |
| | | Pass = 30, |
| | | } |
| | | |
| | | enum EnumGetStandardOrdersQueryScene { |
| | | /**é¢çº¦è®¢å */ |
| | | Appointment = 10, |
| | | /**æ¯ä»è®¢å */ |
| | | Pay = 20, |
| | | /**ç»ç®è®¢å */ |
| | | Settlement = 30, |
| | | } |
| | | |
| | | enum EnumInsuranceSupplierAccess { |
| | | /**人èµå */ |
| | | WaterDropCloud = 10, |
| | |
| | | Cancelled = 30, |
| | | } |
| | | |
| | | enum EnumStandardOrderRefundStatus { |
| | | /**å¾
鿬¾ */ |
| | | Wait = 10, |
| | | /**已鿬¾ */ |
| | | Completed = 20, |
| | | /**鿬¾å¤±è´¥ */ |
| | | Fail = 30, |
| | | } |
| | | |
| | | enum EnumStandardOrderSettlementStatus { |
| | | /**å¾
ç»ç® */ |
| | | Wait = 10, |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultCheckRefundStandardOrderCommandResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | | /** ç¶æç */ |
| | | code?: number; |
| | | /** é误ç */ |
| | | errorCode?: string; |
| | | data?: CheckRefundStandardOrderCommandResult; |
| | | /** æ§è¡æå */ |
| | | success?: boolean; |
| | | /** éè¯¯ä¿¡æ¯ */ |
| | | msg?: any; |
| | | /** éå æ°æ® */ |
| | | extras?: any; |
| | | /** æ¶é´æ³ */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultEnterpriseUserElectronSignCommandResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetStandardOrderAppointmentsQueryResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | | /** ç¶æç */ |
| | | code?: number; |
| | | /** é误ç */ |
| | | errorCode?: string; |
| | | data?: GetStandardOrderAppointmentsQueryResult; |
| | | /** æ§è¡æå */ |
| | | success?: boolean; |
| | | /** éè¯¯ä¿¡æ¯ */ |
| | | msg?: any; |
| | | /** éå æ°æ® */ |
| | | extras?: any; |
| | | /** æ¶é´æ³ */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetStandardOrderPaysQueryResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | | /** ç¶æç */ |
| | | code?: number; |
| | | /** é误ç */ |
| | | errorCode?: string; |
| | | data?: GetStandardOrderPaysQueryResult; |
| | | /** æ§è¡æå */ |
| | | success?: boolean; |
| | | /** éè¯¯ä¿¡æ¯ */ |
| | | msg?: any; |
| | | /** éå æ°æ® */ |
| | | extras?: any; |
| | | /** æ¶é´æ³ */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetStandardOrderQueryResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetStandardOrderSettlementsQueryResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | | /** ç¶æç */ |
| | | code?: number; |
| | | /** é误ç */ |
| | | errorCode?: string; |
| | | data?: GetStandardOrderSettlementsQueryResult; |
| | | /** æ§è¡æå */ |
| | | success?: boolean; |
| | | /** éè¯¯ä¿¡æ¯ */ |
| | | msg?: any; |
| | | /** éå æ°æ® */ |
| | | extras?: any; |
| | | /** æ¶é´æ³ */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetStandardOrdersQueryResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultListGetStandardServicesQueryResultItem { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | | /** ç¶æç */ |
| | | code?: number; |
| | | /** é误ç */ |
| | | errorCode?: string; |
| | | /** æ°æ® */ |
| | | data?: GetStandardServicesQueryResultItem[]; |
| | | /** æ§è¡æå */ |
| | | success?: boolean; |
| | | /** éè¯¯ä¿¡æ¯ */ |
| | | msg?: any; |
| | | /** éå æ°æ® */ |
| | | extras?: any; |
| | | /** æ¶é´æ³ */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultListGetUserInfoRolesQueryResultItem { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | |
| | | remark?: string; |
| | | } |
| | | |
| | | interface GetOpenStandardServiceListQuery { |
| | | /** å
³é®åï¼æå¡å/Idï¼ */ |
| | | keywords?: string; |
| | | /** å²ä½ç¼å· */ |
| | | jobCode?: string; |
| | | /** å建æ¶é´-èµ·å§ */ |
| | | createdTimeBegin?: string; |
| | | /** å建æ¶é´-æªæ¢ */ |
| | | createdTimeEnd?: string; |
| | | releaseStatus?: EnumStandardServiceReleaseStatus; |
| | | recommendStatus?: EnumStandardServiceRecommendStatus; |
| | | /** æ¯å¦æ¶è */ |
| | | isCollected?: boolean; |
| | | } |
| | | |
| | | interface GetOpenStandardServicesQuery { |
| | | /** å
³é®åï¼æå¡å/Idï¼ */ |
| | | keywords?: string; |
| | |
| | | signName?: string; |
| | | } |
| | | |
| | | interface GetStandardOrderAppointmentsQuery { |
| | | appointmentStatus?: EnumStandardOrderAppointmentStatus; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetStandardOrderAppointmentsQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** æ°æ® */ |
| | | data?: GetStandardOrderAppointmentsQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetStandardOrderAppointmentsQueryResultItem { |
| | | /** 订åId */ |
| | | id?: string; |
| | | /** æå¡åç§° */ |
| | | serviceName?: string; |
| | | /** å®ä»éé¢ */ |
| | | payAmount?: number; |
| | | /** æå¡èµ·å§æ¶é´ */ |
| | | beginTime?: string; |
| | | /** æå¡æªæ¢æ¶é´ */ |
| | | endTime?: string; |
| | | /** æå¡å°åï¼çå¸åº+详ç»å°å+é¨çå·ï¼ */ |
| | | addressDetail?: string; |
| | | /** æå¡æºæ */ |
| | | supplierEnterpriseName?: string; |
| | | /** æå¡äººå */ |
| | | serverNames?: string[]; |
| | | appointmentStatus?: EnumStandardOrderAppointmentStatus; |
| | | } |
| | | |
| | | interface GetStandardOrderPaysQuery { |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetStandardOrderPaysQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** æ°æ® */ |
| | | data?: GetStandardOrderPaysQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetStandardOrderPaysQueryResultItem { |
| | | /** 订åId */ |
| | | id?: string; |
| | | /** æå¡åç§° */ |
| | | serviceName?: string; |
| | | /** å®ä»éé¢ */ |
| | | payAmount?: number; |
| | | /** æå¡èµ·å§æ¶é´ */ |
| | | beginTime?: string; |
| | | /** æå¡æªæ¢æ¶é´ */ |
| | | endTime?: string; |
| | | /** æå¡å°åï¼çå¸åº+详ç»å°å+é¨çå·ï¼ */ |
| | | addressDetail?: string; |
| | | /** æå¡æºæ */ |
| | | supplierEnterpriseName?: string; |
| | | /** æå¡äººå */ |
| | | serverNames?: string[]; |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | } |
| | | |
| | | interface GetStandardOrderQueryResult { |
| | | /** 订åId */ |
| | | id?: string; |
| | |
| | | settlementAmount?: number; |
| | | } |
| | | |
| | | interface GetStandardOrderSettlementsQuery { |
| | | /** å
³é®åï¼è®¢åå·/æå¡å/ä¾åºåï¼ */ |
| | | keywords?: string; |
| | | settlementStatus?: EnumStandardOrderSettlementStatus; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | interface GetStandardOrderSettlementsQueryResult { |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** æ°æ® */ |
| | | data?: GetStandardOrderSettlementsQueryResultItem[]; |
| | | } |
| | | |
| | | interface GetStandardOrderSettlementsQueryResultItem { |
| | | /** 订åId */ |
| | | id?: string; |
| | | /** 订åå· */ |
| | | code?: string; |
| | | /** æå¡åç§° */ |
| | | serviceName?: string; |
| | | /** æå¡åå· */ |
| | | serviceCode?: string; |
| | | /** ç²æ¹ä¼ä¸Id */ |
| | | partyAEnterpriseId?: string; |
| | | /** ç²æ¹ä¼ä¸ */ |
| | | partyAEnterpriseName?: string; |
| | | /** æå¡å°åï¼çå¸åº+详ç»å°å+é¨çå·ï¼ */ |
| | | addressDetail?: string; |
| | | /** æå¡æºæ */ |
| | | supplierEnterpriseName?: string; |
| | | /** æå¡äººå */ |
| | | serverNames?: string[]; |
| | | /** å®ä»éé¢ */ |
| | | payAmount?: number; |
| | | /** 宿¶éé¢ */ |
| | | receiveAmount?: number; |
| | | /** æå¡è´¹ */ |
| | | serviceFee?: number; |
| | | /** ç»ç®éé¢ */ |
| | | settlementAmount?: number; |
| | | /** ç»ç®åå· */ |
| | | settlementCode?: string; |
| | | settlementStatus?: EnumStandardOrderSettlementStatus; |
| | | /** ç»ç®æ¶é´ */ |
| | | settlementTime?: string; |
| | | /** æå¡èµ·å§æ¶é´ */ |
| | | beginTime?: string; |
| | | /** æå¡æªæ¢æ¶é´ */ |
| | | endTime?: string; |
| | | } |
| | | |
| | | interface GetStandardOrdersQuery { |
| | | scene?: EnumGetStandardOrdersQueryScene; |
| | | /** å
³é®åï¼è®¢åå·/æå¡åï¼ */ |
| | | keywords?: string; |
| | | /** ä¸åæ¶é´-èµ·å§ */ |
| | |
| | | payTimeEnd?: string; |
| | | appointmentStatus?: EnumStandardOrderAppointmentStatus; |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | settlementStatus?: EnumStandardOrderSettlementStatus; |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | |
| | | serviceName?: string; |
| | | /** æå¡åå· */ |
| | | serviceCode?: string; |
| | | /** ä¸åç¨æ·Id */ |
| | | createdUserId?: string; |
| | | /** ä¸åç¨æ· */ |
| | | createdUserName?: string; |
| | | /** èç³»çµè¯ */ |
| | | createdUserContactPhoneNumber?: string; |
| | | /** ä¸åæ¶é´ */ |
| | | createdTime?: string; |
| | | /** æ¯ä»æ¶é´ */ |
| | | payTime?: string; |
| | | appointmentStatus?: EnumStandardOrderAppointmentStatus; |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | settlementStatus?: EnumStandardOrderSettlementStatus; |
| | | /** ç²æ¹ä¼ä¸Id */ |
| | | partyAEnterpriseId?: string; |
| | | /** ç²æ¹ä¼ä¸ */ |
| | | partyAEnterpriseName?: string; |
| | | /** èç³»çµè¯ */ |
| | | contactPhoneNumber?: string; |
| | | /** ä¾åºåId */ |
| | | supplierEnterpriseId?: string; |
| | | /** ä¾åºå */ |
| | | supplierEnterpriseName?: string; |
| | | /** ä¾åºåèç³»çµè¯ */ |
| | | supplierContactPhoneNumber?: string; |
| | | payStatus?: EnumStandardOrderPayStatus; |
| | | /** æ¯ä»å®ææ¶é´ */ |
| | | payCompletedTime?: string; |
| | | /** å®ä»éé¢ */ |
| | | payAmount?: number; |
| | | /** 宿¶éé¢ */ |
| | | receiveAmount?: number; |
| | | /** æå¡è´¹ */ |
| | | serviceFee?: number; |
| | | settlementStatus?: EnumStandardOrderSettlementStatus; |
| | | /** ç»ç®åå· */ |
| | | settlementCode?: string; |
| | | /** ç»ç®æ¶é´ */ |
| | | settlementTime?: string; |
| | | /** ç»ç®éé¢ */ |
| | | settlementAmount?: number; |
| | | } |
| | |
| | | file?: string; |
| | | /** è¡ä¸ç±»å« */ |
| | | industryCategoryContent?: string; |
| | | /** å²ä½ç¼å· */ |
| | | jobCode?: string; |
| | | /** å²ä½ */ |
| | | jobContent?: string; |
| | | /** æå¡å */ |
| | |
| | | recommendStatus?: EnumStandardServiceRecommendStatus; |
| | | /** æ¯å¦æ¶è */ |
| | | isCollection?: boolean; |
| | | /** æ¶èæ¶é´ */ |
| | | collectionTime?: string; |
| | | /** å建æ¶é´ */ |
| | | createdTime?: string; |
| | | /** ä¾åºåæ°é */ |