已修改14个文件
已删除1个文件
已重命名1个文件
已添加11个文件
| | |
| | | EnumTaskSettlementStatus, |
| | | BillingMethodEnumUnit, |
| | | } from '@12333/constants'; |
| | | import PayrollManageDetailCard from '../components/PayrollManageDetailCard.vue'; |
| | | import { Message, paginateList, setOSSLink, toThousand, OrderUtils } from '@12333/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import dayjs from 'dayjs'; |
| | | import { goBack } from '@/utils'; |
| | | import { ChunkTitle } from '@12333/components'; |
| | | import { ChunkTitle, PayrollManageDetailCard } from '@12333/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | |
| | | ], |
| | | }, |
| | | { |
| | | root: 'subpackages/settleManage', |
| | | pages: [ |
| | | 'settleManage/settleManage', |
| | | 'settleManageDetail/settleManageDetail', |
| | | 'settleChange/settleChange', |
| | | ], |
| | | }, |
| | | { |
| | | root: 'subpackages/payrollManage', |
| | | pages: [ |
| | | 'payrollManage/payrollManage', |
| | |
| | | // cooperation = '/subpackages/setting/cooperation/cooperation', |
| | | // faq = '/subpackages/setting/faq/faq', |
| | | |
| | | settleManage = '/subpackages/settleManage/settleManage/settleManage', |
| | | settleManageDetail = '/subpackages/settleManage/settleManageDetail/settleManageDetail', |
| | | settleChange = '/subpackages/settleManage/settleChange/settleChange', |
| | | |
| | | payrollManage = '/subpackages/payrollManage/payrollManage/payrollManage', |
| | | payrollManageDetail = '/subpackages/payrollManage/payrollManageDetail/payrollManageDetail', |
| | | payrollChange = '/subpackages/payrollManage/payrollChange/payrollChange', |
| | |
| | | <CellChunk title="åèª"> |
| | | <div class="workbenches-cell-list"> |
| | | <TaskDetailWelfareItem |
| | | :icon="IconSettleManage" |
| | | text="ç»ç®ç®¡ç" |
| | | @click="goPage(RouterPath.settleManage)" |
| | | /> |
| | | <TaskDetailWelfareItem |
| | | :icon="IconPayrollManage" |
| | | text="åèªç®¡ç" |
| | | @click="goPage(RouterPath.payrollManage)" |
| | |
| | | import IconPublishTask from '@/assets/workbenches/icon-publish-task.png'; |
| | | import IconTaskManage from '@/assets/workbenches/icon-task-manage.png'; |
| | | import IconPayrollManage from '@/assets/workbenches/icon-payroll.png'; |
| | | import IconSettleManage from '@/assets/workbenches/icon-settle.png'; |
| | | import { useAccessLogin } from '@/hooks'; |
| | | |
| | | defineOptions({ |
| | |
| | | <nut-button type="primary" @click.stop="checkContract(item)">æ¥çå约</nut-button> |
| | | </template> --> |
| | | <nut-button |
| | | v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait" |
| | | v-if=" |
| | | (item.userSignContractStatus === EnumTaskUserSignContractStatus.Wait || |
| | | item.userSignContractStatus === EnumTaskUserSignContractStatus.Stop || |
| | | !item.userSignContractStatus) && |
| | | item.source === EnumEnterpriseEmployeeSource.Internal |
| | | " |
| | | type="primary" |
| | | @click.stop="goEnterpriseSign(item)" |
| | | >ç¾çº¦</nut-button |
| | |
| | | EnumTaskUserHireStatus, |
| | | EnumTaskUserSignContractStatus, |
| | | EnumPagedListOrder, |
| | | EnumEnterpriseEmployeeSource, |
| | | } from '@12333/constants'; |
| | | import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; |
| | | import Taro from '@tarojs/taro'; |
| | |
| | | EnumTaskSettlementStatus, |
| | | BillingMethodEnumUnit, |
| | | } from '@12333/constants'; |
| | | import PayrollManageDetailCard from '../components/PayrollManageDetailCard.vue'; |
| | | import { Message, paginateList, setOSSLink, toThousand, OrderUtils } from '@12333/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import dayjs from 'dayjs'; |
| | | import { goBack } from '@/utils'; |
| | | import { ChunkTitle } from '@12333/components'; |
| | | import { ChunkTitle, PayrollManageDetailCard } from '@12333/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <ContentScrollView :paddingH="false"> |
| | | <nut-form :model-value="form" ref="formRef" :rules="rules"> |
| | | <nut-form-item label="æå¡è´¹:" class="bole-form-item" prop="serviceFee" label-width="90px"> |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | | v-model.trim="form.serviceFee" |
| | | class="nut-input-text bole-input-text" |
| | | placeholder="请è¾å
¥æå¡è´¹" |
| | | :min="0" |
| | | :max="999999999999" |
| | | :precision="2" |
| | | type="text" |
| | | disabled |
| | | /> |
| | | <div class="form-input-unit">å
</div> |
| | | </div> |
| | | </nut-form-item> |
| | | <nut-form-item label="è¶
æ¶:" class="bole-form-item" prop="timeoutHours" label-width="90px"> |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | | v-model.trim="form.timeoutHours" |
| | | class="nut-input-text bole-input-text" |
| | | placeholder="请è¾å
¥è¶
æ¶æ¶é¿" |
| | | :min="0" |
| | | :max="999999999999" |
| | | :precision="2" |
| | | type="text" |
| | | @change="onTimeoutHoursChange" |
| | | /> |
| | | <div class="form-input-unit">å°æ¶</div> |
| | | </div> |
| | | </nut-form-item> |
| | | <nut-form-item label="è¶
æ¶è´¹ç¨:" class="bole-form-item" prop="timeoutFee" label-width="90px"> |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | | v-model.trim="form.timeoutFee" |
| | | class="nut-input-text bole-input-text" |
| | | placeholder="请è¾å
¥è¶
æ¶è´¹ç¨" |
| | | :min="0" |
| | | :max="999999999999" |
| | | :precision="2" |
| | | type="text" |
| | | @change="onActualSettlementAmountChange" |
| | | /> |
| | | <div class="form-input-unit">å
</div> |
| | | </div> |
| | | </nut-form-item> |
| | | <nut-form-item label="å
¶ä»è´¹ç¨:" class="bole-form-item" prop="otherFee" label-width="90px"> |
| | | <div class="bole-form-input-wrapper"> |
| | | <NumberInput |
| | | v-model.trim="form.otherFee" |
| | | class="nut-input-text bole-input-text" |
| | | placeholder="请è¾å
¥å
¶ä»è´¹ç¨" |
| | | :max="999999999999" |
| | | :precision="2" |
| | | type="text" |
| | | @change="onActualSettlementAmountChange" |
| | | /> |
| | | <div class="form-input-unit">å
</div> |
| | | </div> |
| | | </nut-form-item> |
| | | <nut-form-item |
| | | label="ç»ç®éé¢:" |
| | | class="bole-form-item" |
| | | prop="settlementAmount" |
| | | label-width="90px" |
| | | > |
| | | {{ `${settlementAmount}å
` }} |
| | | </nut-form-item> |
| | | <nut-form-item label="夿³¨:" class="bole-form-item alignTop" prop="remark" label-width="90px"> |
| | | <nut-textarea v-model="form.remark" rows="4" placeholder="请è¾å
¥å¤æ³¨"> </nut-textarea> |
| | | </nut-form-item> |
| | | </nut-form> |
| | | </ContentScrollView> |
| | | <PageFooter> |
| | | <PageFooterBtn type="primary" @click="handleConfirm">确认修æ¹</PageFooterBtn> |
| | | </PageFooter> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; |
| | | import { NumberInput } from '@12333/components'; |
| | | import { FormValidator, Message, toRound } from '@12333/utils'; |
| | | import * as userServices from '@12333/services/apiV2/user'; |
| | | import { EnumEnterpriseWalletAccess, EnumUserBankCardAccess } from '@12333/constants'; |
| | | import { goBack } from '@/utils'; |
| | | import Taro from '@tarojs/taro'; |
| | | import * as taskUserServices from '@12333/services/apiV2/taskUser'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import { useEventChannel } from 'senin-mini/hooks'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const router = Taro.useRouter(); |
| | | //ç»ç®åid |
| | | const settleId = router.params?.settleId ?? ''; |
| | | //人åid |
| | | const orderRosterId = router.params?.orderRosterId ?? ''; |
| | | const operatorToken = router.params?.operatorToken ?? ''; |
| | | |
| | | const { isLoading, refetch } = useQuery({ |
| | | queryKey: ['taskUserServices/getSettlementTaskUsers', settleId, operatorToken], |
| | | queryFn: async () => { |
| | | let params: API.APIgetSettlementTaskUsersParams = { |
| | | id: settleId, |
| | | operatorToken: operatorToken, |
| | | }; |
| | | |
| | | return await taskUserServices.getSettlementTaskUsers(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult), |
| | | onSuccess(res) { |
| | | const settlementTaskUser = res.data.find((x) => x.id === orderRosterId); |
| | | if (res?.detail) { |
| | | form.serviceFee = settlementTaskUser?.serviceFee ?? 0; |
| | | form.actualSettlementAmount = settlementTaskUser?.actualSettlementAmount ?? 0; |
| | | form.settlementAmount = settlementTaskUser?.settlementAmount ?? 0; |
| | | form.receiveAccount = settlementTaskUser?.receiveAccount ?? ''; |
| | | form.bank = settlementTaskUser?.bank ?? ''; |
| | | form.settlementAccess = res?.detail?.settlementAccess; |
| | | form.timeoutServiceFee = res?.detail?.timeoutServiceFee ?? 0; |
| | | form.timeoutHours = settlementTaskUser?.timeoutHours ?? ('' as any as number); |
| | | form.timeoutFee = settlementTaskUser?.timeoutFee ?? ('' as any as number); |
| | | form.otherFee = settlementTaskUser?.otherFee ?? ('' as any as number); |
| | | form.remark = settlementTaskUser?.remark ?? ''; |
| | | |
| | | // form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName); |
| | | // form.settlementOrderTime = res?.detail?.settlementOrderTime ?? ''; |
| | | } |
| | | }, |
| | | }); |
| | | |
| | | const form = reactive({ |
| | | settlementAmount: '' as any as number, |
| | | serviceFee: '' as any as number, |
| | | actualSettlementAmount: '' as any as number, |
| | | receiveAccount: '', |
| | | bank: '', |
| | | settlementAccess: EnumEnterpriseWalletAccess.PingAnPay, |
| | | timeoutServiceFee: 0, |
| | | timeoutHours: '' as any as number, |
| | | timeoutFee: '' as any as number, |
| | | otherFee: '' as any as number, |
| | | remark: '', |
| | | }); |
| | | |
| | | const settlementAmount = computed(() => sumSettlementAmount()); |
| | | |
| | | function sumSettlementAmount() { |
| | | return toRound( |
| | | getFeeValue(Number(form.timeoutFee ?? 0)) + |
| | | getFeeValue(Number(form.serviceFee ?? 0)) + |
| | | getFeeValue(Number(form.otherFee ?? 0)) |
| | | ); |
| | | } |
| | | |
| | | function getFeeValue(val: number) { |
| | | return val || 0; |
| | | } |
| | | |
| | | const rules = reactive<FormRules>({ |
| | | code: [ |
| | | { required: true, message: '请è¾å
¥é¶è¡å¡å·' }, |
| | | { message: '请è¾å
¥æ£ç¡®çé¶è¡å¡å·', validator: FormValidator.validatorBankCard }, |
| | | ], |
| | | bank: [{ required: true, message: '请è¾å
¥å¼æ·è¡' }], |
| | | phoneNumber: [ |
| | | { required: true, message: 'è¯·å¡«åææºå·ç ' }, |
| | | { message: '请è¾å
¥æ£ç¡®çææºå·ç ', validator: FormValidator.validatorPhoneNumber }, |
| | | ], |
| | | verifyCode: [{ required: true, message: '请è¾å
¥éªè¯ç ' }], |
| | | }); |
| | | |
| | | function onTimeoutHoursChange(event: any) { |
| | | form.timeoutFee = Number(form.timeoutServiceFee) |
| | | ? form.timeoutServiceFee * event.detail.value |
| | | : 0; |
| | | onActualSettlementAmountChange(); |
| | | } |
| | | |
| | | function onActualSettlementAmountChange() { |
| | | //ææ¶æ³¨æ |
| | | // form.actualSettlementAmount = sumSettlementAmount(); |
| | | } |
| | | |
| | | const formRef = ref<any>(null); |
| | | function handleConfirm() { |
| | | if (!formRef.value) return; |
| | | formRef.value.validate().then(({ valid, errors }: any) => { |
| | | if (valid) { |
| | | confirm(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | const eventChannel = useEventChannel(); |
| | | |
| | | async function confirm() { |
| | | let params: API.EditTaskSettlementOrderRosterCommand = { |
| | | id: orderRosterId, |
| | | settlementAmount: settlementAmount.value, |
| | | actualSettlementAmount: settlementAmount.value, |
| | | receiveAccount: form.receiveAccount, |
| | | bank: form.bank, |
| | | // totalWorkHours: editForm.totalWorkHours, |
| | | // bankBranch: editForm.bankBranch, |
| | | serviceFee: Number(form.serviceFee), |
| | | timeoutHours: Number(form.timeoutHours), |
| | | timeoutFee: Number(form.timeoutFee), |
| | | otherFee: Number(form.otherFee), |
| | | remark: form.remark, |
| | | }; |
| | | // try { |
| | | // let params: API.EditTaskSettlementOrderRosterCommand = { |
| | | // id: orderRosterId, |
| | | // settlementAmount: settlementAmount.value, |
| | | // actualSettlementAmount: form.actualSettlementAmount, |
| | | // receiveAccount: form.receiveAccount, |
| | | // bank: form.bank, |
| | | // // totalWorkHours: editForm.totalWorkHours, |
| | | // // bankBranch: editForm.bankBranch, |
| | | // serviceFee: form.serviceFee, |
| | | // timeoutHours: form.timeoutHours, |
| | | // timeoutFee: form.timeoutFee, |
| | | // otherFee: form.otherFee, |
| | | // remark: form.remark, |
| | | // }; |
| | | // let res = await taskServices.editTaskSettlementOrderRoster(params); |
| | | // if (res) { |
| | | // Message.success('ä¿®æ¹æå', { |
| | | // onClosed() { |
| | | // goBack(); |
| | | // }, |
| | | // }); |
| | | // eventChannel.emit('update'); |
| | | // } |
| | | // } catch (error) {} |
| | | eventChannel.emit('update', params); |
| | | goBack(); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .settleChange-page-wrapper { |
| | | .bole-form-input-wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .form-input-unit { |
| | | margin-left: 10px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | flex-shrink: 0; |
| | | } |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | export default definePageConfig({ |
| | | disableScroll: true, |
| | | }); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <PageLayout class="settleChange-page-wrapper" title="ä¿®æ¹" has-border> |
| | | <InnerPage></InnerPage> |
| | | </PageLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import InnerPage from './InnerPage.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'settleChange', |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <ProTabs |
| | | v-model="queryState.paymentStatus" |
| | | name="task-tab" |
| | | :showPaneContent="false" |
| | | class="task-tabs" |
| | | isTransparent |
| | | title-gutter="8" |
| | | title-scroll |
| | | > |
| | | <ProTabPane |
| | | :title="`å¾
å®¡æ ¸(${waitAuditCount})`" |
| | | :pane-key="GetSettlementTasksQueryPaymentStatus.WaitAudit" |
| | | ></ProTabPane> |
| | | <ProTabPane |
| | | :title="`å·²å®¡æ ¸(${completedAuditCount})`" |
| | | :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedAudit" |
| | | ></ProTabPane> |
| | | <ProTabPane |
| | | :title="`已忾(${completedReleaseCount})`" |
| | | :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedRelease" |
| | | ></ProTabPane> |
| | | </ProTabs> |
| | | <InfiniteLoading |
| | | scrollViewClassName="common-infinite-scroll-list settle-manage-list" |
| | | v-bind="infiniteLoadingProps" |
| | | :key="queryState.paymentStatus" |
| | | > |
| | | <template #renderItem="{ item }"> |
| | | <IncomeDetailListItem |
| | | :title="item.code" |
| | | :funds="item.settlementAmount" |
| | | :item="item.settlementTime ? 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" |
| | | @close="form.showKeyboard = false" |
| | | tips="请è¾å
¥6使ä½å¯ç " |
| | | desc="æç»éè¾å
¥æä½å¯ç æè½æ¥ç" |
| | | :length="6" |
| | | @complete="complete" |
| | | > |
| | | </nut-short-password> |
| | | <nut-number-keyboard |
| | | v-model="form.password" |
| | | v-model:visible="form.showKeyboard" |
| | | @blur="form.showKeyboard = false" |
| | | :custom-key="['']" |
| | | > |
| | | </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 { 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 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; |
| | | }); |
| | | |
| | | function openPassword(item: API.GetSettlementTasksQueryResultItem) { |
| | | form.passwordVisible = true; |
| | | form.showKeyboard = true; |
| | | form.id = item.id; |
| | | } |
| | | |
| | | 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) { |
| | | goSettleManageDetail(form.id, res.operatorToken); |
| | | } |
| | | } catch (error) { |
| | | form.showKeyboard = false; |
| | | } finally { |
| | | form.password = ''; |
| | | form.showKeyboard = false; |
| | | } |
| | | } |
| | | |
| | | async function goSettleManageDetail(id: string, operatorToken: string) { |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.settleManageDetail}?id=${id}&operatorToken=${operatorToken}`, |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .settleManage-page-wrapper { |
| | | .settle-manage-list { |
| | | .income-detail-list-item-inner { |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #ffffff; |
| | | border-radius: 12px; |
| | | padding: 40px; |
| | | margin-bottom: 24px; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | export default definePageConfig({ |
| | | disableScroll: true, |
| | | }); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <PageLayoutWithBg class="settleManage-page-wrapper" title="ç»ç®ç®¡ç"> |
| | | <InnerPage /> |
| | | </PageLayoutWithBg> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import InnerPage from './InnerPage.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'settleManage', |
| | | }); |
| | | </script> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <LoadingLayout> |
| | | <ContentView> |
| | | <div class="settle-manage-detail-top"> |
| | | <div class="settle-manage-detail-top-title">ä»»å¡ä¿¡æ¯</div> |
| | | <div class="settle-manage-detail-top-content"> |
| | | <div class="settle-manage-detail-top-content-item"> |
| | | <div class="settle-manage-detail-top-content-item-label">ä»»å¡åç§°ï¼</div> |
| | | <div class="settle-manage-detail-top-content-item-text">{{ form.name }}</div> |
| | | </div> |
| | | <div class="settle-manage-detail-top-content-item"> |
| | | <div class="settle-manage-detail-top-content-item-label">æå¡è´¹éé¢ï¼</div> |
| | | <div class="settle-manage-detail-top-content-item-text"> |
| | | {{ OrderUtils.getServiceFeeText(form.serviceFee, form.billingMethod) }} |
| | | </div> |
| | | </div> |
| | | <div class="settle-manage-detail-top-content-item"> |
| | | <div class="settle-manage-detail-top-content-item-label">ç»ç®äººæ°ï¼</div> |
| | | <div class="settle-manage-detail-top-content-item-text"> |
| | | {{ `${form.settlementCount ?? 0}人` }} |
| | | </div> |
| | | </div> |
| | | <div class="settle-manage-detail-top-content-item"> |
| | | <div class="settle-manage-detail-top-content-item-label">ç»ç®éé¢ï¼</div> |
| | | <div class="settle-manage-detail-top-content-item-text"> |
| | | {{ `${toThousand(form.settlementAmount ?? 0)}å
` }} |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="settle-manage-detail-top-content-item" |
| | | v-if="form.auditStatus !== EnumTaskSettlementAuditStatus.Wait" |
| | | > |
| | | <div class="settle-manage-detail-top-content-item-label">å®¡æ ¸æ¶é´ï¼</div> |
| | | <div class="settle-manage-detail-top-content-item-text"> |
| | | {{ form.auditTime ? dayjs(form.auditTime).format('YYYY-MM-DD') : '' }} |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="settle-manage-detail-top-content-item" |
| | | v-if="form.settlementStatus === EnumTaskSettlementStatus.Completed" |
| | | > |
| | | <div class="settle-manage-detail-top-content-item-label">ç»ç®æ¶é´ï¼</div> |
| | | <div class="settle-manage-detail-top-content-item-text"> |
| | | {{ dayjs(form.settlementTime).format('YYYY-MM-DD') }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <ChunkTitle title="人åå表" /> |
| | | </ContentView> |
| | | <InfiniteLoading |
| | | scrollViewClassName="common-infinite-scroll-list" |
| | | v-bind="infiniteLoadingProps" |
| | | > |
| | | <template #renderItem="{ item }"> |
| | | <PayrollManageDetailCard |
| | | :avatar="setOSSLink(item.avatar)" |
| | | :name="item.name" |
| | | :gender="item.gender" |
| | | :isReal="item.isReal" |
| | | :totalWorkHours="item.timeoutHours" |
| | | :settlementAmount="item.settlementAmount" |
| | | > |
| | | <template #actions v-if="form.auditStatus === EnumTaskSettlementAuditStatus.Wait"> |
| | | <div class="settle-manage-detail-card-actions"> |
| | | <nut-button type="primary" plain @click="goSettleChange(item)">ä¿®æ¹</nut-button> |
| | | </div> |
| | | </template> |
| | | </PayrollManageDetailCard> |
| | | </template> |
| | | </InfiniteLoading> |
| | | <PageFooter v-if="form.auditStatus === EnumTaskSettlementAuditStatus.Wait"> |
| | | <!-- <PageFooterBtn type="primary" @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Pass)" |
| | | >å®¡æ ¸éè¿</PageFooterBtn |
| | | > |
| | | <PageFooterBtn |
| | | type="primary" |
| | | plain |
| | | @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Fail)" |
| | | >驳å</PageFooterBtn |
| | | > --> |
| | | <PageFooterBtn type="primary" @click="auditTaskSettlement(EnumTaskSettlementAuditStatus.Pass)" |
| | | >确认</PageFooterBtn |
| | | > |
| | | <PageFooterBtn type="primary" plain @click="goBack">åæ¶</PageFooterBtn> |
| | | </PageFooter> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import Taro from '@tarojs/taro'; |
| | | 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, |
| | | BillingMethodEnumUnit, |
| | | } from '@12333/constants'; |
| | | import { Message, paginateList, setOSSLink, toThousand, OrderUtils } from '@12333/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import dayjs from 'dayjs'; |
| | | import { goBack } from '@/utils'; |
| | | import { ChunkTitle, PayrollManageDetailCard } from '@12333/components'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const router = Taro.useRouter(); |
| | | const id = router.params?.id ?? ''; |
| | | const operatorToken = router.params?.operatorToken ?? ''; |
| | | |
| | | const form = reactive({ |
| | | name: '', |
| | | serviceFee: 0, |
| | | settlementCount: 0, |
| | | settlementAmount: 0, |
| | | settlementTime: '', |
| | | auditTime: '', |
| | | auditStatus: 0, |
| | | billingMethod: 0, |
| | | settlementStatus: 0, |
| | | |
| | | settlementTaskUsers: [] as API.GetSettlementTaskUsersQueryResultItem[], |
| | | }); |
| | | |
| | | const state = reactive({ |
| | | isLoaded: false, |
| | | }); |
| | | |
| | | 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), |
| | | onSuccess(res) { |
| | | if (!state.isLoaded) { |
| | | form.settlementTaskUsers = res?.data ?? []; |
| | | state.isLoaded = true; |
| | | } |
| | | }, |
| | | }); |
| | | |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetCheckReceiveTaskQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | }, |
| | | }; |
| | | |
| | | return Promise.resolve({ |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | totalCount: form.settlementTaskUsers.length, |
| | | }, |
| | | data: paginateList(form.settlementTaskUsers, pageParam, 20), |
| | | }); |
| | | }, |
| | | { |
| | | enabled: computed(() => form.settlementTaskUsers?.length > 0), |
| | | } |
| | | ); |
| | | |
| | | async function auditTaskSettlement(auditStatus: EnumTaskSettlementAuditStatus) { |
| | | try { |
| | | let params: API.AuditTaskSettlementCommand = { |
| | | id: id, |
| | | operatorToken: operatorToken, |
| | | auditStatus: auditStatus, |
| | | rosters: form.settlementTaskUsers.map((item) => ({ |
| | | id: item.id, |
| | | serviceFee: item.serviceFee, |
| | | timeoutHours: item.timeoutHours, |
| | | timeoutFee: item.timeoutFee, |
| | | otherFee: item.otherFee, |
| | | remark: item.remark, |
| | | settlementAmount: item.settlementAmount, |
| | | })), |
| | | }; |
| | | // if(auditStatus===EnumTaskSettlementAuditStatus.Pass){ |
| | | // params.rosters |
| | | // } |
| | | let res = await taskServices.auditTaskSettlement(params); |
| | | if (res) { |
| | | Message.success('æä½æå', { |
| | | onClosed() { |
| | | goBack(); |
| | | }, |
| | | }); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function goSettleChange(item: API.GetSettlementTaskUsersQueryResultItem) { |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.settleChange}?orderRosterId=${item.id}&settleId=${id}&operatorToken=${operatorToken}`, |
| | | events: { |
| | | update: function (params: API.EditTaskSettlementOrderRosterCommand) { |
| | | // refetch(); |
| | | form.settlementTaskUsers = form.settlementTaskUsers.map((item) => { |
| | | if (item.id == params.id) { |
| | | item.settlementAmount = params.settlementAmount; |
| | | item.actualSettlementAmount = params.actualSettlementAmount; |
| | | item.receiveAccount = params.receiveAccount; |
| | | item.bank = params.bank; |
| | | item.serviceFee = params.serviceFee; |
| | | item.timeoutHours = params.timeoutHours; |
| | | item.timeoutFee = params.timeoutFee; |
| | | item.otherFee = params.otherFee; |
| | | item.remark = params.remark; |
| | | return item; |
| | | } |
| | | return item; |
| | | }); |
| | | }, |
| | | }, |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .settleManageDetail-page-wrapper { |
| | | .settle-manage-detail-top { |
| | | padding: 24px 32px; |
| | | margin-bottom: 24px; |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | .settle-manage-detail-top-title { |
| | | font-size: 32px; |
| | | font-weight: bold; |
| | | margin-bottom: 14px; |
| | | } |
| | | |
| | | .settle-manage-detail-top-content { |
| | | .settle-manage-detail-top-content-item { |
| | | font-size: 24px; |
| | | line-height: 40px; |
| | | |
| | | .settle-manage-detail-top-content-item-label { |
| | | display: inline-flex; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | } |
| | | |
| | | .settle-manage-detail-top-content-item-text { |
| | | display: inline-flex; |
| | | color: boleGetCssVar('text-color', 'regular'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .settle-manage-detail-card-actions { |
| | | --nut-button-default-height: 24px; |
| | | |
| | | text-align: right; |
| | | } |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | export default definePageConfig({ |
| | | disableScroll: true, |
| | | }); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <PageLayoutWithBg class="settleManageDetail-page-wrapper" title="ç»ç®è¯¦æ
"> |
| | | <InnerPage /> |
| | | </PageLayoutWithBg> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import InnerPage from './InnerPage.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'settleManageDetail', |
| | | }); |
| | | </script> |
| | |
| | | <template> |
| | | <div class="task-check-card-wrapper" @click.stop="emit('checkReceive')"> |
| | | <div class="task-check-card-wrapper"> |
| | | <TaskCheckPersonalView |
| | | class="task-check-card-view" |
| | | :avatar="avatar" |
| | |
| | | :contactPhoneNumber="contactPhoneNumber" |
| | | > |
| | | <template #actions> |
| | | <div |
| | | class="task-check-card-phone-status" |
| | | :style="{ color: EnumTaskCheckReceiveStatusColor[checkReceiveStatus] }" |
| | | <template |
| | | v-if=" |
| | | (checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive || |
| | | checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit) && |
| | | isInternal |
| | | " |
| | | > |
| | | {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }} |
| | | </div> |
| | | <template v-if="OrderUtils.isContainCheckIn(checkReceiveMethods)"> |
| | | <nut-button |
| | | v-if=" |
| | | !checkHistoryType || checkHistoryType === EnumTaskUserSubmitCheckHistoryType.CheckIn |
| | | " |
| | | type="primary" |
| | | class="task-check-card-phone-btn" |
| | | @click.stop="handleMore" |
| | | >æä½</nut-button |
| | | > |
| | | <nut-button |
| | | v-else |
| | | type="primary" |
| | | class="task-check-card-phone-btn" |
| | | @click.stop="emit('checkReceive')" |
| | | >éªæ¶</nut-button |
| | | > |
| | | </template> |
| | | <nut-button |
| | | v-else |
| | | type="primary" |
| | | class="task-check-card-phone-btn" |
| | | @click.stop="emit('checkReceive')" |
| | | >éªæ¶</nut-button |
| | | > |
| | | </template> |
| | | <template v-else> |
| | | <div |
| | | class="task-check-card-phone-status" |
| | | :style="{ color: EnumTaskCheckReceiveStatusColor[checkReceiveStatus] }" |
| | | > |
| | | {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }} |
| | | </div> |
| | | </template> |
| | | </template> |
| | | </TaskCheckPersonalView> |
| | | </div> |
| | |
| | | EnumTaskCheckReceiveMethod, |
| | | EnumGetCheckReceiveTasksQueryResultItemCheckStatus, |
| | | EnumTaskUserSubmitCheckReceiveStatus, |
| | | EnumTaskUserSubmitCheckHistoryType, |
| | | EnumTaskCheckReceiveStatusColor, |
| | | } from '@12333/constants'; |
| | | import { TaskCheckPersonalView } from '@12333/components'; |
| | |
| | | checkReceiveMethods?: EnumTaskCheckReceiveMethod[]; |
| | | |
| | | submitCheckReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus; |
| | | |
| | | checkHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | |
| | | isInternal?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'checkReceive'): void; |
| | | (e: 'checkInOrOut', ev: EnumTaskUserSubmitCheckReceiveStatus): void; |
| | | (e: 'checkInOrOut', ev: EnumTaskUserSubmitCheckHistoryType): void; |
| | | }>(); |
| | | |
| | | const menuList = computed(() => { |
| | | let _menuList = []; |
| | | // if (props.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) { |
| | | _menuList.push({ |
| | | name: 'æªå°å²', |
| | | value: ManageActions.OutWork, |
| | | }); |
| | | if (!props.checkInTime) { |
| | | if (OrderUtils.isContainCheckIn(props.checkReceiveMethods)) { |
| | | if (!props.checkInTime) { |
| | | _menuList.push({ |
| | | name: 'ç¾å°', |
| | | value: ManageActions.CheckIn, |
| | | }); |
| | | } else if (!props.checkOutTime) { |
| | | _menuList.push({ |
| | | name: 'ç¾åº', |
| | | value: ManageActions.CheckOut, |
| | | }); |
| | | } |
| | | _menuList.push({ |
| | | name: 'ç¾å°', |
| | | value: ManageActions.CheckIn, |
| | | }); |
| | | } else if (!props.checkOutTime) { |
| | | _menuList.push({ |
| | | name: 'ç¾åº', |
| | | value: ManageActions.CheckOut, |
| | | name: 'æªå°å²', |
| | | value: ManageActions.OutWork, |
| | | }); |
| | | } |
| | | // } |
| | | |
| | | return _menuList; |
| | | }); |
| | |
| | | function handleEmit(action: { name: string; value: number }) { |
| | | switch (action.value) { |
| | | case ManageActions.CheckIn: |
| | | emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive); |
| | | emit('checkInOrOut', EnumTaskUserSubmitCheckHistoryType.CheckIn); |
| | | break; |
| | | case ManageActions.CheckOut: |
| | | emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.Success); |
| | | emit('checkInOrOut', EnumTaskUserSubmitCheckHistoryType.CheckOut); |
| | | break; |
| | | case ManageActions.OutWork: |
| | | emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.Fail); |
| | | emit('checkInOrOut', EnumTaskUserSubmitCheckHistoryType.UnCheckIn); |
| | | break; |
| | | } |
| | | } |
| | |
| | | <template #renderItem="{ item }"> |
| | | <TaskCheckCard |
| | | :avatar="setOSSLink(item.avatar)" |
| | | :name="item.name" |
| | | :name="item.name ?? ''" |
| | | :gender="item.gender" |
| | | :isReal="item.isReal" |
| | | :checkInTime="item.checkInTime" |
| | |
| | | :checkReceiveStatus="item.checkReceiveStatus" |
| | | :checkReceiveMethods="detail?.checkReceiveMethods" |
| | | :submitCheckReceiveStatus="item.submitCheckReceiveStatus" |
| | | :checkHistoryType="item.checkHistoryType" |
| | | :isInternal="detail?.isInternal" |
| | | @checkReceive="goTaskDetail(item)" |
| | | @checkInOrOut="(ev) => checkReceiveTask(ev, item)" |
| | | /> |
| | | </template> |
| | | </InfiniteLoading> |
| | |
| | | import { |
| | | EnumTaskCheckReceiveMethod, |
| | | EnumTaskCheckReceiveStatus, |
| | | EnumTaskUserSubmitCheckHistoryType, |
| | | EnumTaskUserSubmitCheckReceiveStatus, |
| | | } from '@12333/constants'; |
| | | import { Message, setOSSLink, toRound } from '@12333/utils'; |
| | |
| | | const date = router.params?.date ?? ''; |
| | | const checkReceiveStatus = Number(router.params?.checkReceiveStatus); |
| | | |
| | | const detail = ref<API.GetCheckReceiveTasksQueryResultItem>(); |
| | | const detail = ref<API.GetCheckReceiveTaskQueryResultObjectData>(); |
| | | |
| | | const { infiniteLoadingProps } = useInfiniteLoading( |
| | | async ({ pageParam }) => { |
| | |
| | | queryKey: ['taskCheckReceiveServices/getCheckReceiveTask'], |
| | | } |
| | | ); |
| | | |
| | | function goTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) { |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}&taskInfoId=${id}`, |
| | | }); |
| | | } |
| | | |
| | | async function checkReceiveTask( |
| | | ev: EnumTaskUserSubmitCheckHistoryType, |
| | | item: API.GetCheckReceiveTaskQueryResultItem |
| | | ) { |
| | | try { |
| | | let params: API.CheckReceiveTaskCommand = { |
| | | taskInfoUserId: item.id, |
| | | date: dayjs(date).format('YYYY-MM-DD'), |
| | | checkHistoryType: ev, |
| | | }; |
| | | let res = await taskCheckReceiveServices.checkReceiveTask(params); |
| | | if (res) { |
| | | Message.success('æäº¤æå'); |
| | | infiniteLoadingProps.value?.refetch?.(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| ÎļþÃû´Ó apps/bMiniApp/src/subpackages/payrollManage/components/PayrollManageDetailCard.vue ÐÞ¸Ä |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { FlexJobTopView } from '@12333/components'; |
| | | import FlexJobTopView from './FlexJobTopView.vue'; |
| | | import { EnumUserGender } from '@12333/constants'; |
| | | import { toThousand } from '@12333/utils'; |
| | | |
| | |
| | | export { default as TaskCheckPersonalView } from './Card/TaskCheckPersonalView.vue'; |
| | | export { default as TaskCheckHistoryCard } from './Card/TaskCheckHistoryCard.vue'; |
| | | export { default as FlexJobTopView } from './Card/FlexJobTopView.vue'; |
| | | export { default as PayrollManageDetailCard } from './Card/PayrollManageDetailCard.vue'; |
| | | export { default as QueryMenuView } from './Menu/QueryMenuView.vue'; |
| | | export { default as QueryMenuItem } from './Menu/QueryMenuItem.vue'; |
| | | export { default as ProRadio } from './Form/ProRadio.vue'; |
| | |
| | | ElectronSign = 20, |
| | | } |
| | | |
| | | /** çµå·¥æ¥æº */ |
| | | export enum EnumEnterpriseEmployeeSource { |
| | | /**å
é¨ */ |
| | | Internal = 10, |
| | | /**å¤é¨ */ |
| | | External = 20, |
| | | } |
| | | |
| | | /** ä¼ä¸å®åæ¹å¼ */ |
| | | export enum EnumEnterpriseRealMethod { |
| | | /**ä¼ä¸ä¸è¦ç´ */ |
| | |
| | | CommonServerCodeUrls = 4, |
| | | /**æä»¶ */ |
| | | CommonServerFileUtils = 5, |
| | | /**äºä»¶ */ |
| | | CommonServerEventUtils = 6, |
| | | /**æåè¯å« */ |
| | | CommonServerOcrUtils = 6, |
| | | CommonServerOcrUtils = 7, |
| | | /**æ¥å¿è®°å½ */ |
| | | CommonServerLogRecords = 7, |
| | | CommonServerLogRecords = 8, |
| | | /**åæ¥æ°æ®åº */ |
| | | CommonServerSyncDatabase = 8, |
| | | CommonServerSyncDatabase = 9, |
| | | /**çä¿¡å·¥å
· */ |
| | | CommonServerSmsUtils = 9, |
| | | CommonServerSmsUtils = 10, |
| | | /**é
ç½® */ |
| | | CommonServerSettings = 10, |
| | | CommonServerSettings = 11, |
| | | /**ç¨æ·è®¤è¯ */ |
| | | UserServerAuth = 11, |
| | | UserServerAuth = 12, |
| | | /**ç¨æ·èå */ |
| | | UserServerMenu = 12, |
| | | UserServerMenu = 13, |
| | | /**ç¨æ·èµæº */ |
| | | UserServerResource = 13, |
| | | UserServerResource = 14, |
| | | /**ç¨æ·è§è² */ |
| | | UserServerRole = 14, |
| | | UserServerRole = 15, |
| | | /**ç¨æ·ä¿¡æ¯ */ |
| | | UserServerUser = 15, |
| | | UserServerUser = 16, |
| | | /**ç¨æ·é±å
*/ |
| | | UserServerUserWallet = 16, |
| | | UserServerUserWallet = 17, |
| | | /**çµåç¾ */ |
| | | UserServerElectronSign = 17, |
| | | UserServerElectronSign = 18, |
| | | /**ç¨æ·ç®å */ |
| | | UserServerUserResume = 18, |
| | | UserServerUserResume = 19, |
| | | /**ä¼ä¸ä¿¡æ¯ */ |
| | | UserServerEnterprise = 19, |
| | | UserServerEnterprise = 20, |
| | | /**ä¼ä¸é±å
*/ |
| | | UserServerEnterpriseWallet = 20, |
| | | UserServerEnterpriseWallet = 21, |
| | | /**ä¼ä¸åä½é±å
*/ |
| | | UserServerEnterpriseCooperationWallet = 21, |
| | | UserServerEnterpriseCooperationWallet = 22, |
| | | /**çµå·¥ä¿¡æ¯ */ |
| | | UserServerEnterpriseEmployee = 22, |
| | | UserServerEnterpriseEmployee = 23, |
| | | /**çµåç¾ */ |
| | | ElectronSignServerElectronSign = 23, |
| | | ElectronSignServerElectronSign = 24, |
| | | /**çµåç¾ */ |
| | | ToolServerSms = 24, |
| | | ToolServerSms = 25, |
| | | } |
| | | |
| | | /** èµæºè¯·æ±æ¹å¼ */ |
| | |
| | | // @ts-ignore |
| | | import { request } from '@/utils/request'; |
| | | |
| | | /** æ·»å çµå·¥ä¿¡æ¯ POST /api/user/enterpriseEmployee/addEnterpriseEmployee */ |
| | | export async function addEnterpriseEmployee( |
| | | body: API.AddEnterpriseEmployeeCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string>('/api/user/enterpriseEmployee/addEnterpriseEmployee', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** ä¼ä¸æ¹éç¾çº¦åå POST /api/user/enterpriseEmployee/batchEnterpriseSignContract */ |
| | | export async function batchEnterpriseSignContract( |
| | | body: API.BatchEnterpriseSignContractCommand, |
| | |
| | | ); |
| | | } |
| | | |
| | | /** ä¿®å¤1.3.0.2çæ¬çµå·¥æ°æ® POST /api/user/enterpriseEmployee/repairEnterpriseEmployee_1_3_0_2 */ |
| | | export async function repairEnterpriseEmployee1302( |
| | | body: API.RepairEnterpriseEmployee1302Command, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<boolean>('/api/user/enterpriseEmployee/repairEnterpriseEmployee_1_3_0_2', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** åéé请ç¾çº¦çä¿¡ POST /api/user/enterpriseEmployee/sendInviteElectronSignSms */ |
| | | export async function sendInviteElectronSignSms( |
| | | body: API.SendInviteElectronSignSmsCommand, |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | /* eslint-disable */ |
| | | // @ts-ignore |
| | | import { request } from '@/utils/request'; |
| | | |
| | | /** æµè¯äºä»¶ POST /api/common/eventUtils/testEvent */ |
| | | export async function testEvent(body: API.TestEventCommand, options?: API.RequestConfig) { |
| | | return request<boolean>('/api/common/eventUtils/testEvent', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | |
| | | import * as task from './task'; |
| | | import * as enterpriseWallet from './enterpriseWallet'; |
| | | import * as ocrUtils from './ocrUtils'; |
| | | import * as electronSign from './electronSign'; |
| | | import * as resource from './resource'; |
| | | import * as enterpriseCooperationWallet from './enterpriseCooperationWallet'; |
| | | import * as logRecords from './logRecords'; |
| | | import * as dictionary from './dictionary'; |
| | | import * as taskCheckReceive from './taskCheckReceive'; |
| | | import * as electronSign from './electronSign'; |
| | | import * as userResume from './userResume'; |
| | | import * as auth from './auth'; |
| | | import * as taskUser from './taskUser'; |
| | | import * as eventUtils from './eventUtils'; |
| | | import * as enterpriseCooperationWallet from './enterpriseCooperationWallet'; |
| | | import * as codeUrl from './codeUrl'; |
| | | import * as syncDatabase from './syncDatabase'; |
| | | import * as menu from './menu'; |
| | |
| | | task, |
| | | enterpriseWallet, |
| | | ocrUtils, |
| | | electronSign, |
| | | resource, |
| | | enterpriseCooperationWallet, |
| | | logRecords, |
| | | dictionary, |
| | | taskCheckReceive, |
| | | electronSign, |
| | | userResume, |
| | | auth, |
| | | taskUser, |
| | | eventUtils, |
| | | enterpriseCooperationWallet, |
| | | codeUrl, |
| | | syncDatabase, |
| | | menu, |
| | |
| | | [key: string]: any; |
| | | } |
| | | |
| | | interface AddEnterpriseEmployeeCommand { |
| | | /** å§å */ |
| | | name: string; |
| | | /** 身份è¯å· */ |
| | | identity: string; |
| | | /** ææºå· */ |
| | | contactPhoneNumber: string; |
| | | gender?: EnumUserGender; |
| | | /** å¹´é¾ */ |
| | | age?: number; |
| | | /** 身份è¯äººåé¢ */ |
| | | identityImg?: string; |
| | | /** 身份è¯å½å¾½é¢ */ |
| | | identityBackImg?: string; |
| | | /** çµååå */ |
| | | contractUrl?: string; |
| | | /** åè®®èµ·å§æ¶é´ */ |
| | | contractBegin?: string; |
| | | /** åè®®ç»æ¢æ¶é´ */ |
| | | contractEnd?: string; |
| | | } |
| | | |
| | | interface AgainSureTaskSettlementOrderRosterCommand { |
| | | /** ååId */ |
| | | id?: string; |
| | |
| | | interface APIgetMenusParams { |
| | | /** ç¨æ·ç±»å */ |
| | | userType?: EnumUserType; |
| | | /** ä¼ä¸ç±»å */ |
| | | enterpriseType?: EnumEnterpriseType; |
| | | /** 客æ·ç«¯ç±»å */ |
| | | clientType?: EnumClientType; |
| | | /** è§è²Id */ |
| | |
| | | } |
| | | |
| | | interface EditEnterpriseEmployeeCommand { |
| | | /** Id */ |
| | | id?: string; |
| | | /** å§å */ |
| | | name: string; |
| | | /** 身份è¯å· */ |
| | |
| | | identityImg?: string; |
| | | /** 身份è¯å½å¾½é¢ */ |
| | | identityBackImg?: string; |
| | | /** Id */ |
| | | id?: string; |
| | | /** çµååå */ |
| | | contractUrl?: string; |
| | | /** åè®®èµ·å§æ¶é´ */ |
| | | contractBegin?: string; |
| | | /** åè®®ç»æ¢æ¶é´ */ |
| | | contractEnd?: string; |
| | | } |
| | | |
| | | interface EditTaskSettlementOrderRosterCommand { |
| | |
| | | ElectronSign = 20, |
| | | } |
| | | |
| | | enum EnumEnterpriseEmployeeSource { |
| | | /**å
é¨ */ |
| | | Internal = 10, |
| | | /**å¤é¨ */ |
| | | External = 20, |
| | | } |
| | | |
| | | enum EnumEnterpriseRealMethod { |
| | | /**ä¼ä¸ä¸è¦ç´ */ |
| | | Identity3 = 10, |
| | |
| | | CommonServerCodeUrls = 4, |
| | | /**æä»¶ */ |
| | | CommonServerFileUtils = 5, |
| | | /**äºä»¶ */ |
| | | CommonServerEventUtils = 6, |
| | | /**æåè¯å« */ |
| | | CommonServerOcrUtils = 6, |
| | | CommonServerOcrUtils = 7, |
| | | /**æ¥å¿è®°å½ */ |
| | | CommonServerLogRecords = 7, |
| | | CommonServerLogRecords = 8, |
| | | /**åæ¥æ°æ®åº */ |
| | | CommonServerSyncDatabase = 8, |
| | | CommonServerSyncDatabase = 9, |
| | | /**çä¿¡å·¥å
· */ |
| | | CommonServerSmsUtils = 9, |
| | | CommonServerSmsUtils = 10, |
| | | /**é
ç½® */ |
| | | CommonServerSettings = 10, |
| | | CommonServerSettings = 11, |
| | | /**ç¨æ·è®¤è¯ */ |
| | | UserServerAuth = 11, |
| | | UserServerAuth = 12, |
| | | /**ç¨æ·èå */ |
| | | UserServerMenu = 12, |
| | | UserServerMenu = 13, |
| | | /**ç¨æ·èµæº */ |
| | | UserServerResource = 13, |
| | | UserServerResource = 14, |
| | | /**ç¨æ·è§è² */ |
| | | UserServerRole = 14, |
| | | UserServerRole = 15, |
| | | /**ç¨æ·ä¿¡æ¯ */ |
| | | UserServerUser = 15, |
| | | UserServerUser = 16, |
| | | /**ç¨æ·é±å
*/ |
| | | UserServerUserWallet = 16, |
| | | UserServerUserWallet = 17, |
| | | /**çµåç¾ */ |
| | | UserServerElectronSign = 17, |
| | | UserServerElectronSign = 18, |
| | | /**ç¨æ·ç®å */ |
| | | UserServerUserResume = 18, |
| | | UserServerUserResume = 19, |
| | | /**ä¼ä¸ä¿¡æ¯ */ |
| | | UserServerEnterprise = 19, |
| | | UserServerEnterprise = 20, |
| | | /**ä¼ä¸é±å
*/ |
| | | UserServerEnterpriseWallet = 20, |
| | | UserServerEnterpriseWallet = 21, |
| | | /**ä¼ä¸åä½é±å
*/ |
| | | UserServerEnterpriseCooperationWallet = 21, |
| | | UserServerEnterpriseCooperationWallet = 22, |
| | | /**çµå·¥ä¿¡æ¯ */ |
| | | UserServerEnterpriseEmployee = 22, |
| | | UserServerEnterpriseEmployee = 23, |
| | | /**çµåç¾ */ |
| | | ElectronSignServerElectronSign = 23, |
| | | ElectronSignServerElectronSign = 24, |
| | | /**çµåç¾ */ |
| | | ToolServerSms = 24, |
| | | ToolServerSms = 25, |
| | | } |
| | | |
| | | enum EnumResourceMethod { |
| | |
| | | createdTimeEnd?: string; |
| | | } |
| | | |
| | | interface ExportPersonalUserTransactionEreceiptsCommand { |
| | | /** å
³é®å */ |
| | | keywords?: string; |
| | | transactionStatus?: EnumWalletTransactionStatus; |
| | | /** å建æ¶é´-èµ·å§ */ |
| | | createdTimeStart?: string; |
| | | /** å建æ¶é´-æªæ¢ */ |
| | | createdTimeEnd?: string; |
| | | /** ç¨æ·Id */ |
| | | userId?: string; |
| | | /** ä¼ä¸é±å
Id */ |
| | | enterpriseWalletId?: string; |
| | | } |
| | | |
| | | interface ExportTaskCheckReceiveTaskUsersCommand { |
| | | /** ä»»å¡Id */ |
| | | id?: string; |
| | |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultFileContentResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | | /** ç¶æç */ |
| | | code?: number; |
| | | /** é误ç */ |
| | | errorCode?: string; |
| | | /** æ°æ® */ |
| | | data?: string; |
| | | /** æ§è¡æå */ |
| | | success?: boolean; |
| | | /** éè¯¯ä¿¡æ¯ */ |
| | | msg?: any; |
| | | /** éå æ°æ® */ |
| | | extras?: any; |
| | | /** æ¶é´æ³ */ |
| | | timestamp?: number; |
| | | } |
| | | |
| | | interface FriendlyResultGetAliyunOSSAcsQueryResult { |
| | | /** è·è¸ªId */ |
| | | traceId?: string; |
| | |
| | | /** ç¨æ·ç¾åºæ¶é´ */ |
| | | userCheckOutTime?: string; |
| | | userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | /** ç¨æ·æä½äºº */ |
| | | userOperator?: string; |
| | | /** 人工ç¾å°æ¶é´ */ |
| | | checkInTime?: string; |
| | | /** 人工ç¾åºæ¶é´ */ |
| | | checkOutTime?: string; |
| | | checkHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | /** æä½äºº */ |
| | | checkOperator?: string; |
| | | /** æä½äºº */ |
| | | operator?: string; |
| | | /** æè¿æäº¤æ¶é´ */ |
| | | lastSubmitTime?: string; |
| | |
| | | interface GetCheckReceiveTaskQueryResultObjectData { |
| | | /** ä¾åºåId */ |
| | | supplierEnterpriseId?: string; |
| | | /** æ¯å¦å
é¨è®¢å */ |
| | | isInternal?: boolean; |
| | | /** éæ±äººæ° */ |
| | | needPeopleNumber?: number; |
| | | /** ä»»å¡åç§° */ |
| | |
| | | interface GetCheckReceiveTaskUserSubmitQueryResult { |
| | | /** æäº¤Id */ |
| | | id?: string; |
| | | /** ä»»å¡äººåId */ |
| | | taskInfoUserId?: string; |
| | | enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser; |
| | | /** éªæ¶æ¶é´ */ |
| | | date?: string; |
| | |
| | | /** ç¨æ·ç¾åºæ¶é´ */ |
| | | userCheckOutTime?: string; |
| | | userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | /** ç¨æ·æä½äºº */ |
| | | userOperator?: string; |
| | | /** 人工ç¾å°æ¶é´ */ |
| | | checkInTime?: string; |
| | | /** 人工ç¾åºæ¶é´ */ |
| | | checkOutTime?: string; |
| | | checkHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | /** æä½äºº */ |
| | | checkOperator?: string; |
| | | /** æä½äºº */ |
| | | operator?: string; |
| | | /** éªæ¶ç
§ç */ |
| | | files?: string[]; |
| | | /** éªæ¶æ¹å¼ */ |
| | | checkReceiveMethods?: EnumTaskCheckReceiveMethod[]; |
| | | /** è¶
æ¶æå¡è´¹ */ |
| | | /** ä»»å¡è¶
æ¶æå¡è´¹åä»· */ |
| | | timeoutServiceFee?: number; |
| | | /** æå¡è´¹ï¼å
ï¼ */ |
| | | serviceFee?: number; |
| | | /** è¶
æ¶ï¼å°æ¶ï¼ */ |
| | | timeoutHours?: number; |
| | | /** è¶
æ¶è´¹ç¨ï¼å
ï¼ */ |
| | | timeoutFee?: number; |
| | | /** å
¶ä»è´¹ç¨ï¼å
ï¼ */ |
| | | otherFee?: number; |
| | | /** 夿³¨ */ |
| | | remark?: string; |
| | | /** ç»ç®éé¢ */ |
| | | settlementAmount?: number; |
| | | } |
| | | |
| | | interface GetCheckReceiveTaskUserSubmitsQuery { |
| | |
| | | /** ç¨æ·ç¾åºæ¶é´ */ |
| | | userCheckOutTime?: string; |
| | | userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | /** ç¨æ·æä½äºº */ |
| | | userOperator?: string; |
| | | /** 人工ç¾å°æ¶é´ */ |
| | | checkInTime?: string; |
| | | /** 人工ç¾åºæ¶é´ */ |
| | | checkOutTime?: string; |
| | | checkHistoryType?: EnumTaskUserSubmitCheckHistoryType; |
| | | /** æä½äºº */ |
| | | checkOperator?: string; |
| | | /** æä½äºº */ |
| | | operator?: string; |
| | | /** æäº¤æ¶é´ */ |
| | | createdTime?: string; |
| | |
| | | /** ç¾çº¦æ¶é´-æææ¶é´ */ |
| | | signContractTimeEnd?: string; |
| | | hireStatus?: EnumTaskUserHireStatus; |
| | | /** å®åæ¶é´-ææ©æ¶é´ */ |
| | | userRealTimeStart?: string; |
| | | /** å®åæ¶é´-æææ¶é´ */ |
| | | userRealTimeEnd?: string; |
| | | /** æ¯å¦å®å */ |
| | | isReal?: boolean; |
| | | source?: EnumEnterpriseEmployeeSource; |
| | | userSignContractStatus?: EnumTaskUserSignContractStatus; |
| | | enterpriseSignContractStatus?: EnumTaskUserSignContractStatus; |
| | | signContractStatus?: EnumGetEnterpriseEmployeesQuerySignContractStatus; |
| | |
| | | enterpriseSignContractTime?: string; |
| | | /** çµååå */ |
| | | contractUrl?: string; |
| | | /** åè®®èµ·å§æ¶é´ */ |
| | | contractBegin?: string; |
| | | /** åè®®ç»æ¢æ¶é´ */ |
| | | contractEnd?: string; |
| | | source?: EnumEnterpriseEmployeeSource; |
| | | /** æ¥æºåç§° */ |
| | | sourceName?: string; |
| | | /** å建æ¶é´ */ |
| | | createdTime?: string; |
| | | } |
| | | |
| | |
| | | /** æ¯å¦éæ©ï¼ç¨æ·è§è²ææï¼ */ |
| | | isChecked?: boolean; |
| | | userType?: EnumUserType; |
| | | enterpriseType?: EnumEnterpriseType; |
| | | clientType?: EnumClientType; |
| | | /** ä¸çº§Id */ |
| | | parentId?: string; |
| | |
| | | settlementReceiveStatus?: SettlementReceiveStatus; |
| | | /** ç»ç®æ¶é´ */ |
| | | settlementTime?: string; |
| | | settlementAuditStatus?: EnumTaskSettlementAuditStatus; |
| | | /** å®¡æ ¸æ¶é´ */ |
| | | settlementAuditTime?: string; |
| | | /** 仿¬¾äººè´¦æ· */ |
| | | payerAccount?: string; |
| | | /** 仿¬¾äººåç§° */ |
| | |
| | | dataPower?: EnumRoleWebApiDataPower; |
| | | /** 夿³¨ */ |
| | | remark?: string; |
| | | /** ç¨æ·æ° */ |
| | | userCount?: number; |
| | | /** èåId */ |
| | | menuIds?: string[]; |
| | | /** èµæº */ |
| | |
| | | billingMethod?: EnumBillingMethod; |
| | | /** æå¡è´¹ */ |
| | | serviceFee?: number; |
| | | /** é¢è®¡æå¡è´¹ */ |
| | | estimatedServiceFee?: number; |
| | | /** æ ¸å®å·¥æ¶ */ |
| | | verifyWorkHours?: number; |
| | | /** è¶
æ¶æå¡è´¹ */ |
| | |
| | | contactPhoneNumber?: string; |
| | | /** 身份è¯å· */ |
| | | identity?: string; |
| | | /** åè®®èµ·å§æ¶é´ */ |
| | | contractBegin?: string; |
| | | /** åè®®ç»æ¢æ¶é´ */ |
| | | contractEnd?: string; |
| | | } |
| | | |
| | | interface ImportTaskSettlementOrderRostersCommand { |
| | |
| | | |
| | | type RepairContractTemplateValuePointBy1202Command = Record<string, any>; |
| | | |
| | | type RepairEnterpriseEmployee1302Command = Record<string, any>; |
| | | |
| | | type RepairTaskEstimatedServiceFee1301Command = Record<string, any>; |
| | | |
| | | interface ResendResourceCommand { |
| | |
| | | |
| | | interface SaveMenuCommand { |
| | | userType?: EnumUserType; |
| | | enterpriseType?: EnumEnterpriseType; |
| | | clientType?: EnumClientType; |
| | | /** ä¸çº§Id */ |
| | | parentId?: string; |
| | |
| | | billingMethod: EnumBillingMethod; |
| | | /** æå¡è´¹ */ |
| | | serviceFee?: number; |
| | | /** é¢è®¡æå¡è´¹ */ |
| | | estimatedServiceFee?: number; |
| | | /** æ ¸å®å·¥æ¶ */ |
| | | verifyWorkHours?: number; |
| | | /** è¶
æ¶æå¡è´¹ */ |
| | |
| | | remark?: string; |
| | | } |
| | | |
| | | type TestEventCommand = Record<string, any>; |
| | | |
| | | interface UpdateEnterpriseWeChatPayWalletBankAccountInfoCommand { |
| | | /** ä¼ä¸Id */ |
| | | enterpriseId?: string; |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 导åºä¸ªäººç¨æ·æ¶æ¯æç»çµååå POST /api/user/user/exportPersonalUserTransactionEreceipts */ |
| | | export async function exportPersonalUserTransactionEreceipts( |
| | | body: API.ExportPersonalUserTransactionEreceiptsCommand, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string>('/api/user/user/exportPersonalUserTransactionEreceipts', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json-patch+json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** æ¥è¯¢ä¸ªäººç¨æ·é¶è¡å¡ä¿¡æ¯ GET /api/user/user/getPersonalUserBankCard */ |
| | | export async function getPersonalUserBankCard( |
| | | // å å çæçParamç±»å (ébodyåæ°swaggeré»è®¤æ²¡æçæå¯¹è±¡) |