车间能级提升-智能设备管理系统
zhuguifei
2025-05-20 7fe7b6182c2d407d28c2c9da1c070c3ce964e3e7
eims-ui-mobile/src/pages/inspect/insp-st.vue
@@ -13,12 +13,15 @@
    <template #top>
      <wd-drop-menu>
        <wd-drop-menu-item v-model="viewMode" :options="viewModeList" @change="handleViewMode" />
        <wd-drop-menu-item
          v-model="filterDate"
          :options="filterDateList"
          @change="handleFilterDate"
        />
        <wd-drop-menu-item v-model="equName" :options="equList" @change="handleEquName" />
      </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">
@@ -63,9 +66,7 @@
                <text class="ml-1">进行中</text>
              </template>
            </view>
            <view class="text-color-gray text-xs mt-2 flex">
              创建时间: {{item.createTime}}
            </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>
        </view>
@@ -77,15 +78,21 @@
<script setup lang="ts">
import { ref } from 'vue'
import { getInspStList } from '@/service/inspect'
import { onShow } from '@dcloudio/uni-app'
import dayjs from 'dayjs'
const viewMode = ref<string>('Day')
const equName = ref<string>('所有设备')
const filterDate = ref<string>('1')
const viewModeList = ref<Record<string, any>[]>([
  { label: '日视图', value: 'Day' },
  { label: '月视图', value: 'Month' },
])
const filterDateList = ref<Record<string, any>[]>([
  { label: '所有数据', value: '0' },
  { label: '当天(月)数据', value: '1' },
])
const equList = ref<Record<string, any>[]>([{ label: '所有设备', value: '所有设备' }])
function handleViewMode({ value }) {
  reloadData()
@@ -93,17 +100,28 @@
function handleEquName({ value }) {
  console.log(value)
}
function handleFilterDate({ value }) {
  reloadData()
}
const paging = ref(null)
const dataList = ref([])
const queryList = (pageNum?: number, pageSize?: number) => {
  // 这里的pageNo和pageSize会自动计算好,直接传给服务器即可
  // 这里的请求只是演示,请替换成自己的项目的网络请求,并在网络请求回调中通过paging.value.complete(请求回来的数组)将请求结果传给z-paging
  getInspStList({ pageNum, pageSize, viewMode: viewMode.value })
  const params: any = {
    pageNum,
    pageSize,
    viewMode: viewMode.value,
  }
  if (filterDate.value === '1') {
    params.planTime = dayjs().format('YYYY-MM-DD')
  } else {
    delete params.planTime
  }
  getInspStList(params)
    .then((res: any) => {
      // 请勿在网络请求回调中给dataList赋值!!只需要调用complete就可以了
      paging.value.complete(res.rows)
      paging.value.completeByTotal(res.rows, res.total)
    })
    .catch((res) => {
      // 如果请求失败写paging.value.complete(false),会自动展示错误页面
@@ -114,9 +132,10 @@
}
function itemClick(item) {
  const inspCode = `${item.equId}_${item.planTime}_${viewMode.value}`
  // const inspCode = `${item.equId}_${item.planTime}_${viewMode.value}`
  uni.navigateTo({
    url: `/pages/inspect/insp-record?id=${item.id}&createTime=${item.createTime}&inspCode=${inspCode}&specialNote=${item.specialNote ?? ''}&equName=${item.equName ?? ''}&assetNo=${item.assetNo ?? ''}&planTimeStr=${item.planTimeStr ?? ''}`,
    // url: `/pages/inspect/insp-record?id=${item.id}&createTime=${item.createTime}&inspCode=${inspCode}&specialNote=${item.specialNote ?? ''}&equName=${item.equName ?? ''}&assetNo=${item.assetNo ?? ''}&planTimeStr=${item.planTimeStr ?? ''}`,
    url: `/pages/inspect/insp-record?id=${item.id}&viewMode=${viewMode.value}`,
  })
}
@@ -127,7 +146,7 @@
  uni.$on('insp-st-refresh', reloadData)
})
onUnload(() => {
  uni.$off('insp-st-refres', reloadData)
  uni.$off('insp-st-refresh', reloadData)
})
</script>