| | |
| | | "showES6CompileOption": false, |
| | | "checkInvalidKey": true, |
| | | "ignoreDevUnusedFiles": true, |
| | | "useIsolateContext": true |
| | | "useIsolateContext": true, |
| | | "skylineRenderEnable": false |
| | | }, |
| | | "condition": { |
| | | "miniprogram": { |
| | | "list": [ |
| | | { |
| | | "name": "发薪修改", |
| | | "pathName": "subpackages/payrollManage/payrollChange/payrollChange", |
| | | "query": "orderRosterId=5262960e-a190-4419-9943-08de11389ea2&settleId=225c2ed0-aefc-43aa-ff08-08de11385920&operatorToken=04e6c650-4240-4fc4-8ae6-7e96231780b2", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "发薪详情", |
| | | "pathName": "subpackages/payrollManage/payrollManageDetail/payrollManageDetail", |
| | | "query": "id=225c2ed0-aefc-43aa-ff08-08de11385920&operatorToken=5b571348-e388-4ce1-b718-baa0257184de", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "验收详情", |
| | | "pathName": "subpackages/task/taskCheckDetail/taskCheckDetail", |
| | | "query": "id=d1061ab6-9431-49cd-8840-08de0f9d7fb0&date=2025-10-22&checkReceiveStatus=20", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "发布任务", |
| | | "pathName": "subpackages/task/publishTask/publishTask", |
| | | "query": "", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "验收管理", |
| | | "pathName": "subpackages/task/taskCheck/taskCheck", |
| | | "query": "", |
| | | "launchMode": "default", |
| | | "scene": null |
| | | "query": "id=ed553142-801d-40b4-5582-08de0fa2a04b&operatorToken=627f56a2-d8a2-4606-b69f-36eadf770ecb", |
| | | "scene": null, |
| | | "launchMode": "default" |
| | | } |
| | | ] |
| | | } |
| | |
| | | let params: API.EditTaskSettlementOrderRosterCommand = { |
| | | id: orderRosterId, |
| | | settlementAmount: settlementAmount.value, |
| | | actualSettlementAmount: form.actualSettlementAmount, |
| | | actualSettlementAmount: Number(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, |
| | | serviceFee: Number(form.serviceFee), |
| | | timeoutHours: Number(form.timeoutHours), |
| | | timeoutFee: Number(form.timeoutFee), |
| | | otherFee: Number(form.otherFee), |
| | | remark: form.remark, |
| | | }; |
| | | // try { |
| | |
| | | // eventChannel.emit('update'); |
| | | // } |
| | | // } catch (error) {} |
| | | goBack(); |
| | | eventChannel.emit('update', params); |
| | | goBack(); |
| | | } |
| | | </script> |
| | | |
| | |
| | | settlementTaskUsers: [] as API.GetSettlementTaskUsersQueryResultItem[], |
| | | }); |
| | | |
| | | const state = reactive({ |
| | | isLoaded: false, |
| | | }); |
| | | |
| | | const { |
| | | isLoading, |
| | | isError, |
| | |
| | | }, |
| | | placeholderData: () => ({} as API.GetSettlementTaskUsersQueryResult), |
| | | onSuccess(res) { |
| | | form.settlementTaskUsers = res?.data ?? []; |
| | | if (!state.isLoaded) { |
| | | form.settlementTaskUsers = res?.data ?? []; |
| | | state.isLoaded = true; |
| | | } |
| | | }, |
| | | }); |
| | | |
| | |
| | | // refetch(); |
| | | form.settlementTaskUsers = form.settlementTaskUsers.map((item) => { |
| | | if (item.id == params.id) { |
| | | return { |
| | | ...item, |
| | | ...params, |
| | | }; |
| | | 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 setup lang="ts"> |
| | | import Taro from '@tarojs/taro'; |
| | | import { useInfiniteLoading } from '@12333/hooks'; |
| | | import { EnumTaskUserArrangeStatus, EnumPagedListOrder } from '@12333/constants'; |
| | | import { |
| | | EnumTaskUserArrangeStatus, |
| | | EnumPagedListOrder, |
| | | EnumGetArrangeTaskUsersQueryApplyStatus, |
| | | } from '@12333/constants'; |
| | | import * as taskUserServices from '@12333/services/apiV2/taskUser'; |
| | | import _ from 'lodash'; |
| | | import { Message, trim } from '@12333/utils'; |
| | |
| | | let params: API.GetArrangeTaskUsersQuery = { |
| | | keywords: queryState.keywords, |
| | | arrangeStatus: status, |
| | | applyStatus: EnumGetArrangeTaskUsersQueryApplyStatus.Completed, |
| | | id: id, |
| | | pageModel: { |
| | | rows: 20, |
| New file |
| | |
| | | <template> |
| | | <button class="customer-service-btn-wrapper" :open-type="'contact'"> |
| | | <!-- <img class="back-top-img" :src="IconBackTop" /> --> |
| | | <Service size="22" color="#333" /> |
| | | <!-- <div class="customer-service-btn-text">客服</div> --> |
| | | </button> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { Service } from '@nutui/icons-vue-taro'; |
| | | |
| | | defineOptions({ |
| | | name: 'CustomerServiceButton', |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .customer-service-btn-wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | width: 92px; |
| | | height: 92px; |
| | | border-radius: 50%; |
| | | background-color: #fff; |
| | | box-shadow: 0px 0px 28px 0px rgba(0, 0, 0, 0.18); |
| | | font-size: 24px; |
| | | position: fixed; |
| | | right: boleGetCssVar('size', 'body-padding-h'); |
| | | bottom: 390px; |
| | | |
| | | .customer-service-btn-text { |
| | | font-weight: 400; |
| | | font-size: 16px; |
| | | color: boleGetCssVar('text-color', 'regular'); |
| | | line-height: 22px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <!-- <ListItem :icon="IconRecruit" title="我要招人/用人" @click="goSetting"></ListItem> --> |
| | | </List> |
| | | </ContentScrollView> |
| | | <CustomerServiceButton /> |
| | | </PageLayoutWithBg> |
| | | </template> |
| | | |
| | |
| | | import { toThousand } from '@12333/utils'; |
| | | import { useIntervalFn } from 'senin-mini/hooks'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import CustomerServiceButton from '@/components/Button/CustomerServiceButton.vue'; |
| | | |
| | | const { userDetail, isCertified, updateUserInfo } = useUser(); |
| | | const isLogin = useIsLogin(); |
| | |
| | | <ListItem title="隐私政策" @click="goPrivacyPolicy"></ListItem> |
| | | <ListItem title="退出登录" @click="handleLoginout"></ListItem> |
| | | <!-- <ListItem title="人工客服" @click="goMineService"></ListItem> --> |
| | | <nut-button :open-type="'contact'" class="setting-page-service">人工客服</nut-button> |
| | | <!-- <nut-button :open-type="'contact'" class="setting-page-service">人工客服</nut-button> --> |
| | | </List> |
| | | </PageLayout> |
| | | </template> |