车间能级提升-智能设备管理系统
eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -85,6 +85,17 @@
        </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>
@@ -92,6 +103,11 @@
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>('')
/**
 * 其他页面传过来的数据
@@ -118,13 +134,21 @@
  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 {
    // 正常状态,背景颜色不变
@@ -249,6 +273,41 @@
  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)