车间能级提升-智能设备管理系统
zhuguifei
2025-04-27 d7862b2890b68743ec9c4fc05800bb23ec9b412e
eims-ui-mobile/src/pages/maint/maint-st.vue
@@ -1,6 +1,7 @@
<route lang="json5" type="page">
{
  layout: 'default',
  needLogin: true,
  style: {
    navigationBarTitleText: '保养汇总',
  },
@@ -14,51 +15,54 @@
        <wd-drop-menu-item v-model="equName" :options="equList" @change="handleEquName" />
        <wd-drop-menu-item v-model="status" :options="statusList" @change="handleStatus" />
      </wd-drop-menu>
      <wd-divider></wd-divider>
    </template>
    <view class="bg-base">
      <view class="w-full h-[24rpx]"></view>
      <wd-card type="rectangle" v-for="(item, index) in dataList" :key="item.id">
        <template #title>
          <view class="flex justify-between">
            <view class="flex items-center menu-title-box">
              <view class="menu-indicator"></view>
              <view class="ml-1 text-sm align-center">{{ item.equName }}</view>
              <view class="ml-1 text-sm align-center w-[50%]">
                <wd-text :text="item.equName" :lines="1"></wd-text>
              </view>
              <view class="text-color-gray ml-2 text-mini">{{ item.assetNo }}</view>
            </view>
            <view class="flex items-center">
            <view class="flex items-center w-[20%] justify-end">
              <text class="text-color-gray text-mini">
                {{ status === 'Day' ? item?.planTimeStr : item?.planTimeStr?.substring(0, 7) || '' }}
                {{ item?.planTime }}
              </text>
            </view>
          </view>
        </template>
        <view class="flex h-[100rpx]" items-center>
        <view class="flex h-[140rpx]" items-center>
          <image class="slot-img text-center" src="/static/images/camera.png" />
          <view class="flex-1">
            <view class="text-color-gray text-xs mt-1 flex">
              <text class="mr-3">点检总数: {{ item.recordCount }}</text>
              <text class="mr-3">工单总数: {{ item.orderCount }}</text>
              |
              <text class="mx-3">已点检: {{ item.checkCount }}</text>
              |
              <text class="ml-3">未点检: {{ item.unCheckCount }}</text>
              <text class="mx-3">已完成: {{ item.wcCount }}</text>
            </view>
            <view class="text-color-gray text-xs mt-2 flex">
              <text class="mr-3">正常: {{ item.normalNum }}</text>
              <text class="mr-3">待保养: {{ item.dbyCount }}</text>
              |
              <text class="mx-3">异常: {{ item.abNormalNum }}</text>
              <text class="mx-3">保养中: {{ item.byCount }}</text>
              |
              <text class="ml-3">待验证: {{ item.dyzCount }}</text>
            </view>
            <view class="text-color-gray text-xs mt-2 flex">
              <text>状态:</text>
              <template v-if="item.recordCount === item.checkCount">
                <wd-icon class="icon-color-success" name="check-outline" size="40rpx"></wd-icon>
              <template v-if="item.status=== '1'">
                <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>
                <text class="ml-1">进行中</text>
              </template>
            </view>
            <view class="text-color-gray text-xs mt-2 flex">
              创建时间: {{item.createTime}}
            </view>
          </view>
          <wd-button size="small" icon="edit-outline" @click.stop="itemClick(item)">明细</wd-button>
@@ -83,7 +87,7 @@
const equName = ref<string>('-1')
const statusList = ref<Record<string, any>[]>([
  { label: '全部', value: '-1' },
  { label: '所有状态', value: '-1' },
  { label: '待保养', value: '0' },
  { label: '保养中', value: '1' },
  { label: '待验证', value: '2' },
@@ -117,7 +121,7 @@
  getMaintStList(params)
    .then((res: any) => {
      // 请勿在网络请求回调中给dataList赋值!!只需要调用complete就可以了
      paging.value.complete(res.rows)
      paging.value.completeByTotal(res.rows, res.total)
    })
    .catch((res) => {
      // 如果请求失败写paging.value.complete(false),会自动展示错误页面
@@ -128,9 +132,8 @@
}
function itemClick(item) {
  const inspCode = `${item.equId}_${item.planTime}_${status.value}`
  uni.navigateTo({
    url: `/pages/inspect/insp-record?id=${item.id}&inspCode=${inspCode}&specialNote=${item.specialNote ?? ''}&equName=${item.equName ?? ''}&assetNo=${item.assetNo ?? ''}&planTimeStr=${item.planTimeStr ?? ''}`,
    url: `/pages/maint/maint-order?id=${item.id}`,
  })
}
@@ -138,11 +141,10 @@
  paging.value.reload()
}
onLoad(() => {
  queryList()
  uni.$on('maint-st-refresh', reloadData)
})
onUnload(() => {
  uni.$off('maint-st-refres', reloadData)
  uni.$off('maint-st-refresh', reloadData)
})
</script>