wupengfei
12 小时以前 ce489fee730459541ce9247f3e95b6790d01a9b1
feat: init
已修改9个文件
358 ■■■■ 文件已修改
apps/bStandardMiniApp/src/subpackages/appointmentManage/appointmentManageDetail/InnerPage.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bStandardMiniApp/src/subpackages/orderManage/orderManage/InnerPage.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bStandardMiniApp/src/subpackages/orderManage/orderManageDetail/InnerPage.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/Card/MineServiceDetailView.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/apiEnum.ts 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/standardOrder.ts 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/hooks/standardOrder.ts 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/standardOrder.ts 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/typings.d.ts 93 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bStandardMiniApp/src/subpackages/appointmentManage/appointmentManageDetail/InnerPage.vue
@@ -1,13 +1,31 @@
<template>
  <!-- <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> -->
  <ContentScrollView hasPaddingTop>
    <MineServiceDetailView :addressDetail="detail?.addressDetail" />
    <MineServiceDetailView
      :contactName="detail?.name"
      :contactPhoneNumber="detail?.contactPhoneNumber"
      :addressDetail="detail?.addressDetail"
      :serviceName="detail?.serviceName"
      :price="detail?.serviceFee"
      :specName="detail?.specName"
      :specNumber="detail?.specNumber"
      :imgUrl="detail?.serviceFile"
      statusText="预约状态"
      :beginTime="detail?.beginTime"
      :endTime="detail?.endTime"
      :supplierEnterpriseName="detail?.supplierEnterpriseName"
      :remark="detail?.remark"
    >
      <template #status>
        {{ EnumStandardOrderAppointmentStatusText[detail?.appointmentStatus] }}
      </template>
    </MineServiceDetailView>
  </ContentScrollView>
  <PageFooter>
    <PageFooterBtn type="primary" class="business-card-btn" @click="goCancel"
  <PageFooter v-if="detail?.appointmentStatus === EnumStandardOrderAppointmentStatus.WaitSure">
    <PageFooterBtn class="business-card-btn" @click="cancelStandardOrderAppointment"
      >取消预约</PageFooterBtn
    >
    <PageFooterBtn type="primary" class="business-card-btn" @click="goConfirm"
    <PageFooterBtn type="primary" class="business-card-btn" @click="handleSubmit"
      >确认预约</PageFooterBtn
    >
  </PageFooter>
@@ -17,7 +35,14 @@
<script setup lang="ts">
import { MineServiceDetailView } from '@12333/components';
import Taro from '@tarojs/taro';
import {
  EnumStandardOrderAppointmentStatus,
  EnumStandardOrderAppointmentStatusText,
} from '@12333/constants';
import { useStandardOrder } from '@12333/hooks';
import { Message } from '@12333/utils';
import { goBack } from '@/utils';
import * as standardOrderServices from '@12333/services/apiV2/standardOrder';
defineOptions({
  name: 'InnerPage',
@@ -30,9 +55,32 @@
  id: id,
});
function goCancel() {}
async function cancelStandardOrderAppointment() {
  try {
    await Message.confirm({ message: '确认要取消预约吗?' });
    let params: API.CancelStandardOrderAppointmentCommand = {
      id: id,
    };
    let res = await standardOrderServices.cancelStandardOrderAppointment(params);
    if (res) {
      Message.success('操作成功');
      goBack();
    }
  } catch (error) {}
}
function goConfirm() {}
async function handleSubmit() {
  try {
    let params: API.SureStandardOrderAppointmentCommand = {
      id: id,
    };
    let res = await standardOrderServices.sureStandardOrderAppointment(params);
    if (res) {
      Message.success('操作成功');
      goBack();
    }
  } catch (error) {}
}
</script>
<style lang="scss">
apps/bStandardMiniApp/src/subpackages/orderManage/orderManage/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
  <ProTabs
    v-model="queryState.payStatus"
    v-model="queryState.supplierEnterpriseOrderStatus"
    name="home-tab"
    :showPaneContent="false"
    class="home-tabs"
@@ -9,14 +9,19 @@
    title-scroll
  >
    <ProTabPane :title="`全部`" :pane-key="0"></ProTabPane>
    <ProTabPane :title="`待支付`" :pane-key="EnumStandardOrderPayStatus.Completed"></ProTabPane>
    <ProTabPane :title="`已支付`" :pane-key="EnumStandardOrderPayStatus.Completed"></ProTabPane>
    <ProTabPane :title="`已完成`" :pane-key="EnumStandardOrderPayStatus.Cancelled"></ProTabPane>
    <ProTabPane
      :title="`待收款`"
      :pane-key="EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus.Wait"
    ></ProTabPane>
    <ProTabPane
      :title="`已完成`"
      :pane-key="EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus.Completed"
    ></ProTabPane>
  </ProTabs>
  <InfiniteLoading
    scrollViewClassName="common-infinite-scroll-list home-list"
    v-bind="infiniteLoadingProps"
    :key="queryState.payStatus"
    :key="queryState.supplierEnterpriseOrderStatus"
  >
    <template #renderItem="{ item }">
      <ReserveServiceCard
@@ -26,9 +31,15 @@
        :end-time="item.endTime"
        :supplierEnterpriseName="item.supplierEnterpriseName"
        :address-detail="item.addressDetail"
        :appointmentStatus="item.appointmentStatus"
        @click="goOrderDetail(item)"
      >
        <template #status>
          {{
            EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatusText[
              item.supplierEnterpriseOrderStatus
            ]
          }}
        </template>
        <template #serviceCustome>
          {{ `服务人员:${item.serverNames}` }}
        </template>
@@ -40,7 +51,10 @@
<script setup lang="ts">
import { ProTabs, ProTabPane, ReserveServiceCard } from '@12333/components';
import { useGetStandardOrders } from '@12333/hooks';
import { EnumStandardOrderPayStatus } from '@12333/constants';
import {
  EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus,
  EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatusText,
} from '@12333/constants';
import Taro from '@tarojs/taro';
defineOptions({
apps/bStandardMiniApp/src/subpackages/orderManage/orderManageDetail/InnerPage.vue
@@ -1,25 +1,37 @@
<template>
  <!-- <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> -->
  <ContentScrollView hasPaddingTop>
    <MineServiceDetailView />
    <MineServiceDetailView
      :contactName="detail?.name"
      :contactPhoneNumber="detail?.contactPhoneNumber"
      :addressDetail="detail?.addressDetail"
      :serviceName="detail?.serviceName"
      :price="detail?.serviceFee"
      :specName="detail?.specName"
      :specNumber="detail?.specNumber"
      :imgUrl="detail?.serviceFile"
      statusText="订单状态"
      :beginTime="detail?.beginTime"
      :endTime="detail?.endTime"
      :supplierEnterpriseName="detail?.supplierEnterpriseName"
      :remark="detail?.remark"
    >
      <template #status>
        {{
          EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatusText[
            detail?.supplierEnterpriseOrderStatus
          ]
        }}
      </template>
    </MineServiceDetailView>
  </ContentScrollView>
  <PageFooter class="order-settle-bar">
    <PageFooterBtn class="business-card-btn" @click="cancelStandardOrderAppointment"
      >取消预约</PageFooterBtn
    >
    <PageFooterBtn type="primary" class="business-card-btn" @click="handleSubmit"
      >确认预约</PageFooterBtn
    >
  </PageFooter>
  <!-- </LoadingLayout> -->
</template>
<script setup lang="ts">
import { MineServiceDetailView } from '@12333/components';
import Taro from '@tarojs/taro';
import * as standardOrderServices from '@12333/services/apiV2/standardOrder';
import { Message } from '@12333/utils';
import { goBack } from '@/utils';
import { EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatusText } from '@12333/constants';
import { useStandardOrder } from '@12333/hooks';
defineOptions({
@@ -32,33 +44,6 @@
const { detail } = useStandardOrder({
  id: id,
});
async function cancelStandardOrderAppointment() {
  try {
    await Message.confirm({ message: '确认要取消预约吗?' });
    let params: API.CancelStandardOrderAppointmentCommand = {
      id: id,
    };
    let res = await standardOrderServices.cancelStandardOrderAppointment(params);
    if (res) {
      Message.success('操作成功');
      goBack();
    }
  } catch (error) {}
}
async function handleSubmit() {
  try {
    let params: API.SureStandardOrderAppointmentCommand = {
      id: id,
    };
    let res = await standardOrderServices.sureStandardOrderAppointment(params);
    if (res) {
      Message.success('操作成功');
      goBack();
    }
  } catch (error) {}
}
</script>
<style lang="scss">
packages/components/src/Card/MineServiceDetailView.vue
@@ -14,26 +14,28 @@
    />
    <List>
      <ListItem title="订单状态" :showArrow="false">
      <ListItem :title="statusText" :showArrow="false">
        <template #extra>
          <div class="mine-service-detail-view-list-item">{{ '订单状态' }}</div>
          <div class="mine-service-detail-view-list-item">
            <slot name="status"> </slot>
          </div>
        </template>
      </ListItem>
      <ListItem title="服务时间" :showArrow="false">
        <template #extra>
          <div class="mine-service-detail-view-list-item">
            {{ '2025-12-12 12:00-14:00' }}
            {{ format(beginTime, 'YYYY-MM-DD HH:mm') }}-{{ format(endTime, 'YYYY-MM-DD HH:mm') }}
          </div>
        </template>
      </ListItem>
      <ListItem title="服务机构" :showArrow="false">
        <template #extra>
          <div class="mine-service-detail-view-list-item">{{ 'xxxxx公司' }}</div>
          <div class="mine-service-detail-view-list-item">{{ supplierEnterpriseName }}</div>
        </template>
      </ListItem>
      <ListItem title="备注" :showArrow="false">
        <template #extra>
          <div class="mine-service-detail-view-list-item">{{ '我是备注信息' }}</div>
          <div class="mine-service-detail-view-list-item">{{ remark }}</div>
        </template>
      </ListItem>
    </List>
@@ -45,6 +47,7 @@
import ListItem from '../List/ListItem.vue';
import ServiceDetailAddressCard from './ServiceDetailAddressCard.vue';
import ServiceDetailGoodCard from './ServiceDetailGoodCard.vue';
import { format } from '@12333/utils';
defineOptions({
  name: 'MineServiceDetailView',
@@ -61,6 +64,12 @@
  specName?: string;
  specNumber?: number;
  imgUrl?: string;
  beginTime?: string;
  endTime?: string;
  supplierEnterpriseName?: string;
  remark?: string;
  statusText?: string;
};
const props = withDefaults(defineProps<Props>(), {});
packages/constants/apiEnum.ts
@@ -303,14 +303,30 @@
  Pass = 30,
}
/** 查询标准订单分页列表-甲方订单状态 */
export enum EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus {
  /**待支付 */
  Wait = 10,
  /**已支付 */
  Pay = 20,
  /**已完成 */
  Completed = 30,
}
/** 查询标准订单分页列表-限制场景 */
export enum EnumGetStandardOrdersQueryScene {
  /**预约订单 */
  Appointment = 10,
  /**支付订单 */
  Pay = 20,
  /**结算订单 */
  Settlement = 30,
  /**甲方企业订单管理 */
  PartAEnterpriseOrder = 10,
  /**人资企业订单管理 */
  SupplierEnterpriseOrder = 100,
}
/** 查询标准订单分页列表-甲方订单状态 */
export enum EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus {
  /**待收款 */
  Wait = 10,
  /**已完成 */
  Completed = 30,
}
/** 投保供应商账号 */
packages/constants/standardOrder.ts
@@ -1,5 +1,7 @@
import {
  EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus,
  EnumGetStandardOrdersQueryScene,
  EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus,
  EnumStandardOrderAppointmentStatus,
  EnumStandardOrderPayStatus,
  EnumStandardOrderSettlementStatus,
@@ -30,7 +32,17 @@
};
export const EnumGetStandardOrdersQuerySceneText = {
  [EnumGetStandardOrdersQueryScene.Appointment]: '预约订单',
  [EnumGetStandardOrdersQueryScene.Pay]: '支付订单',
  [EnumGetStandardOrdersQueryScene.Settlement]: '结算订单',
  [EnumGetStandardOrdersQueryScene.PartAEnterpriseOrder]: '甲方企业订单管理',
  [EnumGetStandardOrdersQueryScene.SupplierEnterpriseOrder]: '人资企业订单管理',
};
export const EnumGetStandardOrdersQueryPartAEnterpriseOrderStatusText = {
  [EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus.Wait]: '待支付',
  [EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus.Pay]: '已支付',
  [EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus.Completed]: '已完成',
};
export const EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatusText = {
  [EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus.Wait]: '待收款',
  [EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus.Completed]: '已完成',
};
packages/hooks/standardOrder.ts
@@ -4,7 +4,12 @@
import { computed, MaybeRef, reactive, unref } from 'vue';
import { groupBy } from 'lodash';
import { useInfiniteLoading } from '@12333/hooks';
import { EnumStandardOrderAppointmentStatus, EnumStandardOrderPayStatus } from '@12333/constants';
import {
  EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus,
  EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus,
  EnumStandardOrderAppointmentStatus,
  EnumStandardOrderPayStatus,
} from '@12333/constants';
type UseStandardServiceDetailOptions = {
  id: MaybeRef<string>;
@@ -103,6 +108,9 @@
  const queryState = reactive({
    appointmentStatus: 0 as any as EnumStandardOrderAppointmentStatus,
    payStatus: 0 as any as EnumStandardOrderPayStatus,
    partAEnterpriseOrderStatus: 0 as any as EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus,
    supplierEnterpriseOrderStatus:
      0 as any as EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus,
  });
  const { infiniteLoadingProps } = useInfiniteLoading(
@@ -120,6 +128,12 @@
      if (queryState.payStatus) {
        params.payStatus = queryState.payStatus;
      }
      if (queryState.partAEnterpriseOrderStatus) {
        params.partAEnterpriseOrderStatus = queryState.partAEnterpriseOrderStatus;
      }
      if (queryState.supplierEnterpriseOrderStatus) {
        params.supplierEnterpriseOrderStatus = queryState.supplierEnterpriseOrderStatus;
      }
      return standardOrderServices.getStandardOrders(params, {
        showLoading: false,
packages/services/apiV2/standardOrder.ts
@@ -98,6 +98,24 @@
  });
}
/** 查询标准订单详情 GET /api/flexjob/standardOrder/getSureStandardOrder */
export async function getSureStandardOrder(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetSureStandardOrderParams,
  options?: API.RequestConfig
) {
  return request<API.GetSureStandardOrderQueryResult>(
    '/api/flexjob/standardOrder/getSureStandardOrder',
    {
      method: 'GET',
      params: {
        ...params,
      },
      ...(options || {}),
    }
  );
}
/** 标准订单支付 POST /api/flexjob/standardOrder/payStandardOrder */
export async function payStandardOrder(
  body: API.PayStandardOrderCommand,
@@ -113,6 +131,21 @@
  });
}
/** 结算标准订单 PUT /api/flexjob/standardOrder/settlementStandardOrder */
export async function settlementStandardOrder(
  body: API.SettlementStandardOrderCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/standardOrder/settlementStandardOrder', {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 标准订单服务确认 POST /api/flexjob/standardOrder/sureStandardOrder */
export async function sureStandardOrder(
  body: API.SureStandardOrderCommand,
packages/services/apiV2/typings.d.ts
@@ -404,6 +404,8 @@
  interface APIgetStandardOrderParams {
    /** 订单Id */
    id?: string;
    /** 限制场景(不传则不限制) */
    scene?: EnumGetStandardOrdersQueryScene;
  }
  interface APIgetStandardServiceParams {
@@ -416,6 +418,11 @@
    request?: GetSupplierEnterpriseSelectQuery;
  }
  interface APIgetSureStandardOrderParams {
    /** 订单Id */
    id?: string;
  }
  interface APIgetTaskEnterpriseParams {
    /** 企业Id */
    id?: string;
@@ -1241,13 +1248,27 @@
    Pass = 30,
  }
  enum EnumGetStandardOrdersQueryScene {
    /**预约订单 */
    Appointment = 10,
    /**支付订单 */
  enum EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus {
    /**待支付 */
    Wait = 10,
    /**已支付 */
    Pay = 20,
    /**结算订单 */
    Settlement = 30,
    /**已完成 */
    Completed = 30,
  }
  enum EnumGetStandardOrdersQueryScene {
    /**甲方企业订单管理 */
    PartAEnterpriseOrder = 10,
    /**人资企业订单管理 */
    SupplierEnterpriseOrder = 100,
  }
  enum EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus {
    /**待收款 */
    Wait = 10,
    /**已完成 */
    Completed = 30,
  }
  enum EnumInsuranceSupplierAccess {
@@ -3526,6 +3547,24 @@
    timestamp?: number;
  }
  interface FriendlyResultGetSureStandardOrderQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetSureStandardOrderQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetTaskEnterpriseQueryResult {
    /** 跟踪Id */
    traceId?: string;
@@ -8106,20 +8145,6 @@
    name?: string;
    /** 联系电话 */
    contactPhoneNumber?: string;
    /** 省份编号 */
    provinceCode?: string;
    /** 省份 */
    provinceContent?: string;
    /** 城市编号 */
    cityCode?: string;
    /** 城市 */
    cityContent?: string;
    /** 区编号 */
    areaCode?: string;
    /** 区 */
    areaContent?: string;
    /** 详细地址 */
    addressName?: string;
    /** 门牌号 */
    addressDetail?: string;
    /** 经度 */
@@ -8159,6 +8184,8 @@
    receiveAmount?: number;
    /** 结算金额 */
    settlementAmount?: number;
    partAEnterpriseOrderStatus?: EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus;
    supplierEnterpriseOrderStatus?: EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus;
  }
  interface GetStandardOrderQueryResultServer {
@@ -8184,6 +8211,8 @@
    payTimeEnd?: string;
    appointmentStatus?: EnumStandardOrderAppointmentStatus;
    payStatus?: EnumStandardOrderPayStatus;
    partAEnterpriseOrderStatus?: EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus;
    supplierEnterpriseOrderStatus?: EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus;
    settlementStatus?: EnumStandardOrderSettlementStatus;
    pageModel?: PagedListQueryPageModel;
  }
@@ -8249,6 +8278,8 @@
    settlementTime?: string;
    /** 结算金额 */
    settlementAmount?: number;
    partAEnterpriseOrderStatus?: EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus;
    supplierEnterpriseOrderStatus?: EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus;
  }
  interface GetStandardServiceCommentsQuery {
@@ -8506,6 +8537,17 @@
    signStatus?: EnumEnterpriseCooperationSignStatus;
  }
  interface GetSureStandardOrderQueryResult {
    /** 订单Id */
    id?: string;
    /** 验收完成时间 */
    checkReceiveTime?: string;
    /** 附件 */
    files?: string[];
    /** 备注 */
    remark?: string;
  }
  interface GetTaskEnterpriseQueryResult {
    /** 企业全称 */
    enterpriseName?: string;
@@ -10682,6 +10724,11 @@
    Refunded = 20,
  }
  interface SettlementStandardOrderCommand {
    /** 订单Id */
    id?: string;
  }
  interface SetUserInfoRolesCommand {
    /** 用户Id */
    userInfoId?: string;
@@ -10790,10 +10837,8 @@
  interface SureStandardOrderCommand {
    /** 订单Id */
    id?: string;
    /** 评分 */
    commentStar?: number;
    /** 评价 */
    commentContent?: string;
    /** 预约订单完成备注 */
    appointmentCompletedRemark?: string;
  }
  interface SureTaskSettlementCommand {