| | |
| | | { |
| | | "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", |
| | | "projectname": "bMiniApp", |
| | | "setting": { |
| | | "compileHotReLoad": true, |
| | | "bigPackageSizeSupport": true, |
| | | "urlCheck": false, |
| | | "coverView": true, |
| | | "lazyloadPlaceholderEnable": false, |
| | | "skylineRenderEnable": false, |
| | | "preloadBackgroundData": false, |
| | | "autoAudits": false, |
| | | "useApiHook": true, |
| | | "useApiHostProcess": true, |
| | | "showShadowRootInWxmlPanel": true, |
| | | "useStaticServer": false, |
| | | "useLanDebug": false, |
| | | "showES6CompileOption": false, |
| | | "checkInvalidKey": true, |
| | | "ignoreDevUnusedFiles": true, |
| | | "useIsolateContext": true |
| | | }, |
| | | "condition": { |
| | | "miniprogram": { |
| | | "list": [ |
| | | { |
| | | "name": "验收管理", |
| | | "pathName": "subpackages/task/taskCheck/taskCheck", |
| | | "query": "", |
| | | "scene": null, |
| | | "launchMode": "default" |
| | | }, |
| | | { |
| | | "name": "验收详情", |
| | | "pathName": "subpackages/task/taskCheckDetail/taskCheckDetail", |
| | | "query": "id=927b9898-1e9f-4aec-99aa-08ddf4e125c9&date=2025-10-19&checkReceiveStatus=10", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", |
| | | "projectname": "bMiniApp", |
| | | "setting": { |
| | | "compileHotReLoad": true, |
| | | "bigPackageSizeSupport": true, |
| | | "urlCheck": false, |
| | | "coverView": true, |
| | | "lazyloadPlaceholderEnable": false, |
| | | "preloadBackgroundData": false, |
| | | "autoAudits": false, |
| | | "useApiHook": true, |
| | | "useApiHostProcess": true, |
| | | "showShadowRootInWxmlPanel": true, |
| | | "useStaticServer": false, |
| | | "useLanDebug": false, |
| | | "showES6CompileOption": false, |
| | | "checkInvalidKey": true, |
| | | "ignoreDevUnusedFiles": true, |
| | | "useIsolateContext": true |
| | | }, |
| | | "condition": { |
| | | "miniprogram": { |
| | | "list": [ |
| | | { |
| | | "name": "验收管理", |
| | | "pathName": "subpackages/task/taskCheck/taskCheck", |
| | | "query": "", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "验收详情", |
| | | "pathName": "subpackages/task/taskCheckDetail/taskCheckDetail", |
| | | "query": "id=927b9898-1e9f-4aec-99aa-08ddf4e125c9&date=2025-10-19&checkReceiveStatus=10", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "", |
| | | "pathName": "subpackages/payrollManage/payrollManageDetail/payrollManageDetail", |
| | | "query": "id=22201b25-b058-4774-808c-08de0d1eb0de&operatorToken=47358a9a-02a0-41ef-8da1-0366266af084", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | "libVersion": "3.9.3" |
| | | } |
| | | }, |
| | | "libVersion": "3.9.3" |
| | | } |
| | |
| | | <div class="payroll-manage-detail-card-container"> |
| | | <div class="payroll-manage-detail-card-item"> |
| | | <div class="payroll-manage-detail-card-item-label">工时:</div> |
| | | <div class="payroll-manage-detail-card-item-text">{{ contactPhoneNumber }}</div> |
| | | <div class="payroll-manage-detail-card-item-text">{{ totalWorkHours }}</div> |
| | | </div> |
| | | <div class="payroll-manage-detail-card-item"> |
| | | <div class="payroll-manage-detail-card-item-label">结算金额:</div> |
| | | <div class="payroll-manage-detail-card-item-text">{{ contactPhoneNumber }}</div> |
| | | <div class="payroll-manage-detail-card-item-text"> |
| | | {{ `¥${toThousand(settlementAmount)}` }} |
| | | </div> |
| | | </div> |
| | | <slot name="actions"></slot> |
| | | </div> |
| | |
| | | <script setup lang="ts"> |
| | | import { FlexJobTopView } from '@12333/components'; |
| | | import { EnumUserGender } from '@12333/constants'; |
| | | import { toThousand } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'PayrollManageDetailCard', |
| | |
| | | name?: string; |
| | | gender?: EnumUserGender; |
| | | isReal?: boolean; |
| | | contactPhoneNumber?: string; |
| | | totalWorkHours: number; |
| | | settlementAmount?: number; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | |
| | | <template> |
| | | <ProTabs |
| | | v-model="queryMenuState.status" |
| | | v-model="queryState.paymentStatus" |
| | | name="task-tab" |
| | | :showPaneContent="false" |
| | | class="task-tabs" |
| | |
| | | title-gutter="8" |
| | | title-scroll |
| | | > |
| | | <ProTabPane :title="`待审核(${waitAssignCount})`" :pane-key="EnumTaskStatus.Wait"></ProTabPane> |
| | | <ProTabPane |
| | | :title="`已审核(${completedAssignCount})`" |
| | | :pane-key="EnumTaskStatus.Complete" |
| | | :title="`待审核(${waitAuditCount})`" |
| | | :pane-key="GetSettlementTasksQueryPaymentStatus.WaitAudit" |
| | | ></ProTabPane> |
| | | <ProTabPane |
| | | :title="`已发放(${completedAssignCount})`" |
| | | :pane-key="EnumTaskStatus.Complete" |
| | | :title="`已审核(${completedAuditCount})`" |
| | | :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedAudit" |
| | | ></ProTabPane> |
| | | <ProTabPane |
| | | :title="`已发放(${completedReleaseCount})`" |
| | | :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedRelease" |
| | | ></ProTabPane> |
| | | </ProTabs> |
| | | <InfiniteLoading |
| | | scrollViewClassName="common-infinite-scroll-list" |
| | | v-bind="infiniteLoadingProps" |
| | | :key="queryMenuState.status" |
| | | :key="queryState.paymentStatus" |
| | | > |
| | | <template #renderItem="{ item }"> |
| | | <IncomeDetailListItem |
| | | :title="item.name" |
| | | :funds="100" |
| | | :item="dayjs(item.createdTime).format('YYYY-MM-DD HH:mm:ss')" |
| | | :value="`钱包余额:${toThousand(item.serviceFee)}`" |
| | | @click="goPayrollManageDetail(item)" |
| | | :title="item.code" |
| | | :funds="item.settlementAmount" |
| | | :item="dayjs(item.settlementTime).format('YYYY-MM-DD HH:mm:ss')" |
| | | @click="openPassword(item)" |
| | | > |
| | | </IncomeDetailListItem> |
| | | </template> |
| | | </InfiniteLoading> |
| | | <nut-short-password |
| | | v-model="form.password" |
| | | v-model:visible="form.passwordVisible" |
| | | @focus="form.showKeyboard = true" |
| | | tips="请输入操作密码" |
| | | desc="明细需输入操作密码才能查看" |
| | | :length="6" |
| | | @complete="complete" |
| | | > |
| | | </nut-short-password> |
| | | <nut-number-keyboard |
| | | v-model="form.password" |
| | | v-model:visible="form.showKeyboard" |
| | | @blur="form.showKeyboard = false" |
| | | > |
| | | </nut-number-keyboard> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { ProTabs, ProTabPane, IncomeDetailListItem } from '@12333/components'; |
| | | import Taro from '@tarojs/taro'; |
| | | import dayjs from 'dayjs'; |
| | | import { toThousand } from '@12333/utils'; |
| | | import { EnumTaskStatus } from '@12333/constants'; |
| | | import { useTaskList } from '@12333/hooks'; |
| | | import { GetSettlementTasksQueryPaymentStatus, EnumPagedListOrder } from '@12333/constants'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import * as userServices from '@12333/services/apiV2/user'; |
| | | import { useInfiniteLoading } from '@12333/hooks'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const { queryMenuState, infiniteLoadingProps } = useTaskList({ |
| | | defaultQueryMenuState: { |
| | | status: EnumTaskStatus.Wait, |
| | | const form = reactive({ |
| | | password: '', |
| | | passwordVisible: false, |
| | | showKeyboard: false, |
| | | id: '', |
| | | }); |
| | | |
| | | const queryState = reactive({ |
| | | paymentStatus: GetSettlementTasksQueryPaymentStatus.WaitAudit, |
| | | }); |
| | | |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetSettlementTasksQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |
| | | }, |
| | | paymentStatus: queryState.paymentStatus, |
| | | }; |
| | | return taskServices.getSettlementTasks(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['taskServices/getSettlementTasks', queryState], |
| | | } |
| | | ); |
| | | |
| | | const completedAuditCount = computed(() => { |
| | | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAuditCount ?? 0; |
| | | }); |
| | | const waitAuditCount = computed(() => { |
| | | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAuditCount ?? 0; |
| | | }); |
| | | const completedReleaseCount = computed(() => { |
| | | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedReleaseCount ?? 0; |
| | | }); |
| | | |
| | | const completedAssignCount = computed(() => { |
| | | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0; |
| | | }); |
| | | const waitAssignCount = computed(() => { |
| | | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAssignCount ?? 0; |
| | | }); |
| | | function openPassword(item: API.GetSettlementTasksQueryResultItem) { |
| | | form.passwordVisible = true; |
| | | form.id = item.id; |
| | | } |
| | | |
| | | function goPayrollManageDetail(item: API.GetTaskInfosQueryResultItem) { |
| | | function complete(value: string) { |
| | | form.passwordVisible = false; |
| | | buildOperatorToken(value); |
| | | } |
| | | |
| | | async function buildOperatorToken(value: string) { |
| | | try { |
| | | let params: API.BuildOperatorTokenCommand = { |
| | | password: value, |
| | | }; |
| | | let res = await userServices.buildOperatorToken(params); |
| | | if (res) { |
| | | goPayrollManageDetail(form.id, res.operatorToken); |
| | | } |
| | | } catch (error) { |
| | | form.showKeyboard = false; |
| | | } |
| | | } |
| | | |
| | | async function goPayrollManageDetail(id: string, operatorToken: string) { |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.payrollManageDetail}?id=${ |
| | | item.id |
| | | }&date=${'Fri Oct 17 2025 18:49:01 GMT+0800'}`, |
| | | url: `${RouterPath.payrollManageDetail}?id=${id}&operatorToken=${operatorToken}`, |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .taskManage-page-wrapper { |
| | | .dark-btn { |
| | | margin-left: 12px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <LoadingLayout> |
| | | <ContentView> |
| | | <div class="payroll-manage-detail-top"> |
| | | <div class="payroll-manage-detail-top-title"></div> |
| | | <div class="payroll-manage-detail-top-title">任务信息</div> |
| | | <div class="payroll-manage-detail-top-content"> |
| | | <div class="payroll-manage-detail-top-content-item"></div> |
| | | <div class="payroll-manage-detail-top-content-item"> |
| | | <div class="payroll-manage-detail-top-content-item-label">任务名称:</div> |
| | | <div class="payroll-manage-detail-top-content-item-text">{{ form.name }}</div> |
| | | </div> |
| | | <div class="payroll-manage-detail-top-content-item"> |
| | | <div class="payroll-manage-detail-top-content-item-label">服务费金额:</div> |
| | | <div class="payroll-manage-detail-top-content-item-text"> |
| | | {{ `${form.serviceFee ?? 0}${EnumBillingMethodText[form.billingMethod]}` }} |
| | | </div> |
| | | </div> |
| | | <div class="payroll-manage-detail-top-content-item"> |
| | | <div class="payroll-manage-detail-top-content-item-label">结算人数:</div> |
| | | <div class="payroll-manage-detail-top-content-item-text"> |
| | | {{ `${form.settlementCount ?? 0}人` }} |
| | | </div> |
| | | </div> |
| | | <div class="payroll-manage-detail-top-content-item"> |
| | | <div class="payroll-manage-detail-top-content-item-label">结算金额:</div> |
| | | <div class="payroll-manage-detail-top-content-item-text"> |
| | | {{ `${toThousand(form.settlementAmount ?? 0)}元` }} |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="payroll-manage-detail-top-content-item" |
| | | v-if="form.auditStatus !== EnumTaskSettlementAuditStatus.Wait" |
| | | > |
| | | <div class="payroll-manage-detail-top-content-item-label">审核时间:</div> |
| | | <div class="payroll-manage-detail-top-content-item-text"> |
| | | {{ dayjs(form.auditTime).format('YYYY-MM-DD') }} |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="payroll-manage-detail-top-content-item" |
| | | v-if="form.settlementStatus === EnumTaskSettlementStatus.Completed" |
| | | > |
| | | <div class="payroll-manage-detail-top-content-item-label">结算时间:</div> |
| | | <div class="payroll-manage-detail-top-content-item-text"> |
| | | {{ dayjs(form.settlementTime).format('YYYY-MM-DD') }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <ChunkTitle title="人员列表" /> |
| | |
| | | :name="item.name" |
| | | :gender="item.gender" |
| | | :isReal="item.isReal" |
| | | :contactPhoneNumber="item.contactPhoneNumber" |
| | | :checkReceiveStatus="item.checkReceiveStatus" |
| | | :totalWorkHours="item.totalWorkHours" |
| | | :settlementAmount="item.settlementAmount" |
| | | /> |
| | | </template> |
| | | </InfiniteLoading> |
| | | <PageFooter v-if="form."> |
| | | <PageFooterBtn type="primary" @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Pass)" |
| | | >审核通过</PageFooterBtn |
| | | > |
| | | <PageFooterBtn |
| | | type="primary" |
| | | plain |
| | | @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Fail)" |
| | | >驳回</PageFooterBtn |
| | | > |
| | | </PageFooter> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import Taro from '@tarojs/taro'; |
| | | import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive'; |
| | | import { useCheckReceiveTaskUserSubmits, useInfiniteLoading } from '@12333/hooks'; |
| | | import * as taskUserServices from '@12333/services/apiV2/taskUser'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import { useInfiniteLoading } from '@12333/hooks'; |
| | | import { |
| | | EnumBillingMethodText, |
| | | EnumTaskSettlementAuditStatus, |
| | | EnumTaskSettlementStatus, |
| | | } from '@12333/constants'; |
| | | import PayrollManageDetailCard from '../components/PayrollManageDetailCard.vue'; |
| | | import { EnumTaskCheckReceiveStatus } from '@12333/constants'; |
| | | import { setOSSLink } from '@12333/utils'; |
| | | import { Message, paginateList, setOSSLink, toThousand } from '@12333/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import dayjs from 'dayjs'; |
| | | import { goBack } from '@/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | |
| | | |
| | | const router = Taro.useRouter(); |
| | | const id = router.params?.id ?? ''; |
| | | const date = router.params?.date ?? ''; |
| | | const checkReceiveStatus = Number(router.params?.checkReceiveStatus); |
| | | const operatorToken = router.params?.operatorToken ?? ''; |
| | | |
| | | const { infiniteLoadingProps } = useInfiniteLoading( |
| | | const form = reactive({ |
| | | name: '', |
| | | serviceFee: 0, |
| | | settlementCount: 0, |
| | | settlementAmount: 0, |
| | | settlementTime: '', |
| | | auditTime: '', |
| | | auditStatus: 0, |
| | | billingMethod: 0, |
| | | settlementStatus: 0, |
| | | }); |
| | | |
| | | const { |
| | | isLoading, |
| | | isError, |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['taskUserServices/getSettlementTaskUsers', id, operatorToken], |
| | | queryFn: async () => { |
| | | let res = await taskUserServices.getSettlementTaskUsers( |
| | | { id: id, operatorToken: operatorToken }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | if (res) { |
| | | form.name = res.detail?.name; |
| | | form.serviceFee = res.detail?.serviceFee; |
| | | form.settlementCount = res.data?.length; |
| | | form.settlementAmount = res.detail?.settlementAmount; |
| | | form.settlementTime = res.detail?.settlementTime; |
| | | form.auditTime = res.detail?.auditTime; |
| | | form.auditStatus = res.detail?.auditStatus; |
| | | form.settlementStatus = res.detail?.settlementStatus; |
| | | form.billingMethod = res.detail?.billingMethod; |
| | | } |
| | | return res; |
| | | }, |
| | | placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult), |
| | | }); |
| | | |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetCheckReceiveTaskQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | }, |
| | | taskInfoId: id, |
| | | date: dayjs(date).format('YYYY-MM-DD'), |
| | | checkReceiveStatus: 30, |
| | | }; |
| | | |
| | | return taskCheckReceiveServices.getCheckReceiveTask(params, { |
| | | showLoading: false, |
| | | return Promise.resolve({ |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | totalCount: detail.value?.data.length, |
| | | }, |
| | | data: paginateList(detail.value?.data, pageParam, 20), |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], |
| | | enabled: computed(() => !!detail.value?.data), |
| | | } |
| | | ); |
| | | |
| | | async function auditTaskSettlement(auditStatus: EnumTaskSettlementAuditStatus) { |
| | | try { |
| | | let params: API.AuditTaskSettlementCommand = { |
| | | id: id, |
| | | operatorToken: operatorToken, |
| | | auditStatus: auditStatus, |
| | | }; |
| | | let res = await taskServices.auditTaskSettlement(params); |
| | | if (res) { |
| | | Message.success('操作成功', { |
| | | onClosed() { |
| | | goBack(); |
| | | }, |
| | | }); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .payrollManageDetail-page-wrapper { |
| | | .payroll-manage-detail-top { |
| | | padding: 24px 32px; |
| | | margin-bottom: 24px; |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | .payroll-manage-detail-top-title { |
| | | font-size: 32px; |
| | | font-weight: bold; |
| | | margin-bottom: 14px; |
| | | } |
| | | |
| | | .payroll-manage-detail-top-content { |
| | | .payroll-manage-detail-top-content-item { |
| | | font-size: 24px; |
| | | line-height: 40px; |
| | | |
| | | .payroll-manage-detail-top-content-item-label { |
| | | display: inline-flex; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | } |
| | | |
| | | .payroll-manage-detail-top-content-item-text { |
| | | display: inline-flex; |
| | | color: boleGetCssVar('text-color', 'regular'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | ChooseInputWithCheckbox, |
| | | } from '@12333/components'; |
| | | import { FormValidator, Message } from '@12333/utils'; |
| | | import * as flexWorkerServices from '@12333/services/api/FlexWorker'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; |
| | | import Taro from '@tarojs/taro'; |
| | |
| | | Completed = 20, |
| | | } |
| | | |
| | | /** 发薪状态 */ |
| | | export enum GetSettlementTasksQueryPaymentStatus { |
| | | /**待审核 */ |
| | | WaitAudit = 10, |
| | | /**已审核 */ |
| | | CompletedAudit = 20, |
| | | /**已发放 */ |
| | | CompletedRelease = 30, |
| | | } |
| | | |
| | | /** 我的报名列表-详情-按钮类型 */ |
| | | export enum GetTaskInfoQueryResultApplyButton { |
| | | /**待确认 */ |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 导出企业余额详情 POST /api/user/enterpriseWallet/exportEnterpriseBalanceDetails */ |
| | | export async function exportEnterpriseBalanceDetails( |
| | | body: API.ExportEnterpriseBalanceDetailsCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string>('/api/user/enterpriseWallet/exportEnterpriseBalanceDetails', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 支付宝通知回传 GET /api/user/enterpriseWallet/getAlipayNotify */ |
| | | export async function getAlipayNotify( |
| | | body: API.GetAlipayNotifyCommand, |
| | |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 测试微信支付 POST /api/user/enterpriseWallet/testWeChatPay */ |
| | | export async function testWeChatPay(body: API.TestWeChatPayCommand, options?: API.RequestConfig) { |
| | | return request<boolean>('/api/user/enterpriseWallet/testWeChatPay', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 修改企业微信支付钱包结算账户 POST /api/user/enterpriseWallet/updateEnterpriseWeChatPayWalletBankAccountInfo */ |
| | |
| | | interface APIgetSettlementTaskUsersParams { |
| | | /** 结算订单Id */ |
| | | id?: string; |
| | | /** 结算通道 */ |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 是否导入用户 */ |
| | | isImport?: boolean; |
| | | /** 操作令牌 */ |
| | | operatorToken?: string; |
| | | } |
| | | |
| | | interface APIgetTaskEnterpriseParams { |
| | |
| | | auditStatus?: EnumTaskSettlementAuditStatus; |
| | | /** 审核备注 */ |
| | | auditRemark?: string; |
| | | /** 操作令牌 */ |
| | | operatorToken?: string; |
| | | } |
| | | |
| | | interface BaiduOcrBusinessLicenseResultModel { |
| | |
| | | VERIFY_FAIL = 1, |
| | | /**验证中,商户可发起提现尝试 */ |
| | | VERIFYING = 2, |
| | | } |
| | | |
| | | interface ExportEnterpriseBalanceDetailsCommand { |
| | | /** 企业钱包Id */ |
| | | enterpriseWalletId?: string; |
| | | /** 创建时间-起始 */ |
| | | createdTimeStart?: string; |
| | | /** 创建时间-截止 */ |
| | | createdTimeEnd?: string; |
| | | } |
| | | |
| | | interface ExportTaskCheckReceiveTaskUsersCommand { |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | /** 任务地点名称 */ |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | /** 任务地点名称 */ |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | billingMethod?: EnumBillingMethod; |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | billingMethod?: EnumBillingMethod; |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | billingMethod?: EnumBillingMethod; |
| | |
| | | interface GetSettlementTasksQuery { |
| | | /** 关键字 */ |
| | | keywords?: string; |
| | | paymentStatus?: GetSettlementTasksQueryPaymentStatus; |
| | | settlementOrderStatus?: EnumTaskSettlementOrderStatus; |
| | | settlementStatus?: EnumTaskSettlementStatus; |
| | | checkReceiveStatus?: EnumTaskCheckReceiveStatus; |
| | |
| | | pageModel?: PagedListQueryPageModel; |
| | | } |
| | | |
| | | enum GetSettlementTasksQueryPaymentStatus { |
| | | /**待审核 */ |
| | | WaitAudit = 10, |
| | | /**已审核 */ |
| | | CompletedAudit = 20, |
| | | /**已发放 */ |
| | | CompletedRelease = 30, |
| | | } |
| | | |
| | | interface GetSettlementTasksQueryResult { |
| | | objectData?: GetSettlementTasksQueryResultObjectData; |
| | | pageModel?: PagedListQueryResultPageModel; |
| | | /** 数据 */ |
| | | data?: GetSettlementTasksQueryResultItem[]; |
| | |
| | | settlementRemark?: string; |
| | | /** 结算人数 */ |
| | | settlementUserCount?: number; |
| | | auditStatus?: EnumTaskSettlementAuditStatus; |
| | | } |
| | | |
| | | interface GetSettlementTasksQueryResultObjectData { |
| | | /** 待审核 */ |
| | | waitAuditCount?: number; |
| | | /** 已审核 */ |
| | | completedAuditCount?: number; |
| | | /** 已发放 */ |
| | | completedReleaseCount?: number; |
| | | } |
| | | |
| | | interface GetSettlementTaskUsersQueryResult { |
| | |
| | | verifyWorkHours?: number; |
| | | /** 超时服务费 */ |
| | | timeoutServiceFee?: number; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | settlementOrderStatus?: EnumTaskSettlementOrderStatus; |
| | | /** 结算单名称 */ |
| | | settlementOrderName?: string; |
| | |
| | | settlementStatus?: EnumTaskSettlementStatus; |
| | | /** 结算时间 */ |
| | | settlementTime?: string; |
| | | auditStatus?: EnumTaskSettlementAuditStatus; |
| | | /** 审核备注 */ |
| | | auditRemark?: string; |
| | | /** 审核时间 */ |
| | | auditTime?: string; |
| | | /** 审核操作人 */ |
| | | auditOperator?: string; |
| | | /** 备注 */ |
| | | settlementRemark?: string; |
| | | } |
| | |
| | | taskInfoUserId?: string; |
| | | /** 用户信息Id */ |
| | | userId?: string; |
| | | /** 头像 */ |
| | | avatar?: string; |
| | | /** 姓名 */ |
| | | name?: string; |
| | | /** 身份证号 */ |
| | | identity?: string; |
| | | /** 手机号 */ |
| | | contactPhoneNumber?: string; |
| | | gender?: EnumUserGender; |
| | | /** 年龄 */ |
| | | age?: number; |
| | | /** 是否实名 */ |
| | | isReal?: boolean; |
| | | realMethod?: EnumUserRealMethod; |
| | | /** 累计工时 */ |
| | | totalWorkHours?: number; |
| | | /** 所属银行 */ |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | /** 创建时间 */ |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | releaseStatus?: EnumTaskReleaseStatus; |
| | |
| | | id?: string; |
| | | } |
| | | |
| | | interface ResetUserOperatorPasswordsCommand { |
| | | /** Id */ |
| | | ids?: string[]; |
| | | /** 操作密码 */ |
| | | operatorPassword?: string; |
| | | } |
| | | |
| | | interface ResetUserPasswordsCommand { |
| | | /** Id */ |
| | | ids?: string[]; |
| | |
| | | /** 任务地点名称 */ |
| | | addressName: string; |
| | | /** 任务地点详细地址 */ |
| | | addressDetail: string; |
| | | addressDetail?: string; |
| | | /** 经度 */ |
| | | longitude?: number; |
| | | /** 纬度 */ |
| | |
| | | applyEndTime?: string; |
| | | checkReceiveMethod?: EnumTaskCheckReceiveMethod; |
| | | paymentMethod?: EnumTaskPaymentMethod; |
| | | settlementAccess?: EnumEnterpriseWalletAccess; |
| | | /** 任务描述 */ |
| | | description?: string; |
| | | /** Id */ |
| | |
| | | /** 备注 */ |
| | | remark?: string; |
| | | } |
| | | |
| | | type TestWeChatPayCommand = Record<string, any>; |
| | | |
| | | interface UpdateEnterpriseWeChatPayWalletBankAccountInfoCommand { |
| | | /** 企业Id */ |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 重置用户操作密码 POST /api/user/user/resetUserOperatorPasswords */ |
| | | export async function resetUserOperatorPasswords( |
| | | body: API.ResetUserOperatorPasswordsCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/user/user/resetUserOperatorPasswords', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 重置用户密码 POST /api/user/user/resetUserPasswords */ |
| | | export async function resetUserPasswords( |
| | | body: API.ResetUserPasswordsCommand, |