| | |
| | | <view class="text-color-gray text-sm mt-2 flex"> |
| | | <text>状态:</text> |
| | | <template v-if="item.status === '1'"> |
| | | <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon> |
| | | <text class="ml-1">已完成</text> |
| | | <wd-icon class="icon-color-warning" name="check-outline" size="34rpx"></wd-icon> |
| | | <text class="ml-1">待确认</text> |
| | | </template> |
| | | <template v-else-if="item.status === '2'"> |
| | | <wd-icon class="icon-color-warning" name="check-outline" size="34rpx"></wd-icon> |
| | | <text class="ml-1">已确认</text> |
| | | <wd-icon class="icon-color-success" name="check-outline" size="34rpx"></wd-icon> |
| | | <text class="ml-1">已完成</text> |
| | | </template> |
| | | <template v-else> |
| | | <wd-icon class="icon-color-base" name="detection" size="40rpx"></wd-icon> |
| | |
| | | </view> |
| | | </wd-card> |
| | | </view> |
| | | |
| | | <wd-fab |
| | | v-if="status === '1' && isLeader()" |
| | | :draggable="true" |
| | | type="success" |
| | | position="left-bottom" |
| | | :expandable="false" |
| | | inactiveIcon="check" |
| | | @click="handleBatchComplete" |
| | | direction="top" |
| | | /> |
| | | </z-paging> |
| | | </template> |
| | | |
| | |
| | | import { ref, computed } from 'vue' |
| | | import { getMaintStList } from '@/service/maint' |
| | | import dayjs from 'dayjs' |
| | | import { updateMaintSt } from '@/service/maint' |
| | | import { useUserStore } from "@/store"; |
| | | import { isLeader } from '@/utils/RoleUtils' |
| | | import { useToast } from 'wot-design-uni' |
| | | |
| | | const searchValue = ref<string>('') |
| | | /** |
| | | * 其他页面传过来的数据 |
| | |
| | | |
| | | const now = dayjs() |
| | | const planDate = dayjs(planTime) |
| | | const diffDays = planDate.diff(now, 'day') |
| | | |
| | | // 获取计划日期所在月份的最后一天 |
| | | const planMonthEnd = planDate.endOf('month') |
| | | |
| | | // 计算当前日期与计划月月底的差值(天数) |
| | | const diffDays = planMonthEnd.diff(now, 'day') |
| | | |
| | | if (diffDays < 0) { |
| | | // 超过计划时间,红色背景 |
| | | // 已经过了计划月的月底,红色背景 |
| | | return 'card-overdue' |
| | | } else if (diffDays <= 3) { |
| | | // 距离计划时间三天以内,黄色背景 |
| | | // 距离计划月月底3天以内,红色背景 |
| | | return 'card-overdue' |
| | | } else if (diffDays <= 10) { |
| | | // 距离计划月月底10天以内,黄色背景 |
| | | return 'card-urgent' |
| | | } else { |
| | | // 正常状态,背景颜色不变 |
| | |
| | | paging.value.reload() |
| | | } |
| | | |
| | | const userStore = useUserStore() |
| | | const toast = useToast() |
| | | |
| | | async function handleBatchComplete() { |
| | | console.log('handleBatchComplete', dataList.value.length) |
| | | if (!isLeader()) { |
| | | toast.info('无权限操作') |
| | | return |
| | | } |
| | | // 如果待确认工单列表为空,则提示用户无待确认工单 |
| | | if (dataList.value.length < 1) { |
| | | toast.info('无待确认工单') |
| | | return |
| | | } |
| | | const now = new Date() |
| | | const verifyTime = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')} ${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}:${String(now.getSeconds()).padStart(2, '0')}` |
| | | |
| | | // 假设 dataList 是当前待确认的工单列表 |
| | | const promises = dataList.value.map(item => { |
| | | return updateMaintSt({ |
| | | id: item.id, |
| | | status: '2', |
| | | verifyUser: userStore?.userInfo?.userId, |
| | | verifyTime |
| | | }) |
| | | }) |
| | | |
| | | try { |
| | | await Promise.all(promises) |
| | | toast.success('一键确认完成') |
| | | reloadData() // 刷新列表 |
| | | } catch (e) { |
| | | toast.error('部分工单确认失败,请重试') |
| | | } |
| | | } |
| | | |
| | | onLoad((options) => { |
| | | Object.assign(option, options) |