| | |
| | | 'setting/setting', |
| | | 'mineFavorites/mineFavorites', |
| | | 'mineContactRecord/mineContactRecord', |
| | | 'mineFinanceManage/mineFinanceManage', |
| | | ], |
| | | }, |
| | | { |
| | |
| | | setting = '/subpackages/mine/setting/setting', |
| | | mineFavorites = '/subpackages/mine/mineFavorites/mineFavorites', |
| | | mineContactRecord = '/subpackages/mine/mineContactRecord/mineContactRecord', |
| | | mineFinanceManage = '/subpackages/mine/mineFinanceManage/mineFinanceManage', |
| | | |
| | | businessCard = '/subpackages/businessCard/businessCard/businessCard', |
| | | businessCardEdit = '/subpackages/businessCard/businessCardEdit/businessCardEdit', |
| | |
| | | </div> |
| | | <Cell :title="'更多服务'" class="mine-content-service"> |
| | | <div class="mine-content-service-list"> |
| | | <TaskDetailWelfareItem :icon="IconFinance" text="财务管理"></TaskDetailWelfareItem> |
| | | <TaskDetailWelfareItem |
| | | :icon="IconFinance" |
| | | text="财务管理" |
| | | @click="goFinance" |
| | | ></TaskDetailWelfareItem> |
| | | <TaskDetailWelfareItem |
| | | :icon="IconRealName" |
| | | text="企业实名" |
| | |
| | | goPage(RouterPath.businessCard); |
| | | } |
| | | |
| | | function goFinance() { |
| | | goPage(RouterPath.mineFinanceManage); |
| | | } |
| | | |
| | | async function handleLoginout() { |
| | | try { |
| | | await Message.confirm({ |
New file |
| | |
| | | <template> |
| | | <List> |
| | | <IncomeDetailListItem :item="'收入:¥600.00'"> |
| | | <template #title> |
| | | <div class="mineFinanceManage-detail-time-picker"> |
| | | <ChooseInputWithDatePicker |
| | | v-model="form.month" |
| | | type="year-month" |
| | | :max-date="nowDate" |
| | | ></ChooseInputWithDatePicker> |
| | | </div> |
| | | </template> |
| | | </IncomeDetailListItem> |
| | | <IncomeDetailListItem |
| | | :title="'收入-宁波人力无忧'" |
| | | :item="'2024.12.20 13:30:30'" |
| | | :value="'+300.00'" |
| | | > |
| | | </IncomeDetailListItem> |
| | | </List> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { List, IncomeDetailListItem, ChooseInputWithDatePicker } from '@12333/components'; |
| | | import { useUserStore } from '@/stores/modules/user'; |
| | | import Taro from '@tarojs/taro'; |
| | | import dayjs from 'dayjs'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const userStore = useUserStore(); |
| | | const nowDate = dayjs().toDate(); |
| | | const form = reactive({ |
| | | month: '2024-12', |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | |
| | | .mineFinanceManage-page-wrapper { |
| | | .mineFinanceManage-detail-time-picker { |
| | | .nut-input { |
| | | border-bottom: none; |
| | | padding: 0; |
| | | |
| | | .input-text { |
| | | font-size: 20px; |
| | | font-weight: 500; |
| | | height: 28px; |
| | | } |
| | | |
| | | .nut-input-right-box { |
| | | display: none; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | export default definePageConfig({ |
| | | disableScroll: true, |
| | | }); |
New file |
| | |
| | | <template> |
| | | <PageLayout class="mineFinanceManage-page-wrapper" :title="'财务管理'" developing> |
| | | <InnerPage></InnerPage> |
| | | </PageLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { PageLayout } from '@/components'; |
| | | import InnerPage from './InnerPage.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'mineFinanceManage', |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import '@/styles/common.scss'; |
| | | </style> |
| | |
| | | const searchValue = ref(''); |
| | | const router = Taro.useRouter(); |
| | | const id = router.params?.id ?? ''; |
| | | const status = router.params?.status ?? ''; |
| | | const status = Number(router.params?.status); |
| | | const queryState = reactive({ |
| | | keywords: '', |
| | | }); |
| | | |
| | | const showQueryState = computed(() => { |
| | | return status === 'arrange'; |
| | | return status === EnumTaskUserArrangeStatus.Wait; |
| | | }); |
| | | |
| | | const handleSearch = _.debounce(function () { |
| | |
| | | ({ pageParam }) => { |
| | | let params: API.GetArrangeTaskUsersQuery = { |
| | | keywords: queryState.keywords, |
| | | arrangeStatus: EnumTaskUserArrangeStatus.Wait, |
| | | arrangeStatus: status, |
| | | id: id, |
| | | pageModel: { |
| | | rows: 20, |
| | |
| | | mode="taskManage" |
| | | > |
| | | <template #footer-actions> |
| | | <nut-button type="primary" @click.stop="goBatchTaskList(item, 'arrange')" |
| | | <nut-button |
| | | type="primary" |
| | | @click.stop="goBatchTaskList(item, EnumTaskUserArrangeStatus.Wait)" |
| | | >人员安排</nut-button |
| | | > |
| | | <nut-button |
| | |
| | | type="primary" |
| | | :color="Colors.Info" |
| | | class="dark-btn" |
| | | @click.stop="goBatchTaskList(item, 'detail')" |
| | | @click.stop="goBatchTaskList(item, EnumTaskUserArrangeStatus.Complete)" |
| | | >详情</nut-button |
| | | > |
| | | </template> |
| | |
| | | <script setup lang="ts"> |
| | | import { JobApplicationCard, ProTabs, ProTabPane } from '@12333/components'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { EnumTaskStatus, BillingMethodEnumUnit, Colors } from '@12333/constants'; |
| | | import { |
| | | EnumTaskStatus, |
| | | BillingMethodEnumUnit, |
| | | Colors, |
| | | EnumTaskUserArrangeStatus, |
| | | } from '@12333/constants'; |
| | | import { useTaskList } from '@12333/hooks'; |
| | | |
| | | defineOptions({ |
| | |
| | | }); |
| | | } |
| | | |
| | | function goBatchTaskList(item: API.GetTaskInfosQueryResultItem, status: string) { |
| | | console.log('status: ', status); |
| | | function goBatchTaskList(item: API.GetTaskInfosQueryResultItem, status: EnumTaskUserArrangeStatus) { |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.batchTaskList}?id=${item.id}&status=${status}`, |
| | | }); |
| | |
| | | type Props = { |
| | | modelValue: string | number; |
| | | minDate?: Date; |
| | | maxDate?: Date; |
| | | type?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | |
| | | h(DatePicker, { |
| | | modelValue: _modelValue, |
| | | onCancel: onClose, |
| | | type: props.type, |
| | | maxDate: props.maxDate, |
| | | onConfirm: ({ selectedValue }) => { |
| | | emit('update:modelValue', dayjs(selectedValue.join('-')).format('YYYY-MM-DD')); |
| | | onClose(); |