From 89a5fedfe041ebacb2d81ecae1023b206cd3f353 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 24 四月 2025 09:10:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/main' --- eims-ui-mobile/src/pages/inspect/insp-st.vue | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 160 insertions(+), 0 deletions(-) diff --git a/eims-ui-mobile/src/pages/inspect/insp-st.vue b/eims-ui-mobile/src/pages/inspect/insp-st.vue new file mode 100644 index 0000000..748ab44 --- /dev/null +++ b/eims-ui-mobile/src/pages/inspect/insp-st.vue @@ -0,0 +1,160 @@ +<route lang="json5" type="page"> +{ + layout: 'default', + needLogin: true, + style: { + navigationBarTitleText: '鐐规姹囨��', + }, +} +</route> + +<template> + <z-paging ref="paging" v-model="dataList" @query="queryList" show-refresher-update-time> + <template #top> + <wd-drop-menu> + <wd-drop-menu-item v-model="viewMode" :options="viewModeList" @change="handleViewMode" /> + <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"> + <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="text-color-gray ml-2 text-mini">{{ item.assetNo }}</view> + </view> + + <view class="flex items-center"> + <text class="text-color-gray text-mini"> + {{ + viewMode === 'Day' ? item.planTimeStr : item?.planTimeStr?.substring(0, 7) || '' + }} + </text> + </view> + </view> + </template> + <view class="flex h-[100rpx]" 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="mx-3">宸茬偣妫�: {{ item.checkCount }}</text> + | + <text class="ml-3">鏈偣妫�: {{ item.unCheckCount }}</text> + </view> + <view class="text-color-gray text-xs mt-2 flex"> + <text class="mr-3">姝e父: {{ item.normalNum }}</text> + | + <text class="mx-3">寮傚父: {{ item.abNormalNum }}</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="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> + <wd-button size="small" icon="edit-outline" @click.stop="itemClick(item)">鏄庣粏</wd-button> + </view> + </wd-card> + </view> + </z-paging> +</template> + +<script setup lang="ts"> +import { ref } from 'vue' +import { getInspStList } from '@/service/inspect' +import { onShow } from '@dcloudio/uni-app' + +const viewMode = ref<string>('Day') +const equName = ref<string>('鎵�鏈夎澶�') + +const viewModeList = ref<Record<string, any>[]>([ + { label: '鏃ヨ鍥�', value: 'Day' }, + { label: '鏈堣鍥�', value: 'Month' }, +]) +const equList = ref<Record<string, any>[]>([{ label: '鎵�鏈夎澶�', value: '鎵�鏈夎澶�' }]) +function handleViewMode({ value }) { + reloadData() +} +function handleEquName({ value }) { + console.log(value) +} + +const paging = ref(null) +const dataList = ref([]) + +const queryList = (pageNum?: number, pageSize?: number) => { + // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲 + // 杩欓噷鐨勮姹傚彧鏄紨绀猴紝璇锋浛鎹㈡垚鑷繁鐨勯」鐩殑缃戠粶璇锋眰锛屽苟鍦ㄧ綉缁滆姹傚洖璋冧腑閫氳繃paging.value.complete(璇锋眰鍥炴潵鐨勬暟缁�)灏嗚姹傜粨鏋滀紶缁檢-paging + getInspStList({ pageNum, pageSize, viewMode: viewMode.value }) + .then((res: any) => { + // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡 + paging.value.complete(res.rows) + }) + .catch((res) => { + // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰 + // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊 + // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲 + paging.value.complete(false) + }) +} + +function itemClick(item) { + const inspCode = `${item.equId}_${item.planTime}_${viewMode.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 ?? ''}`, + }) +} + +function reloadData() { + paging.value.reload() +} +onLoad(() => { + uni.$on('insp-st-refresh', reloadData) +}) +onUnload(() => { + uni.$off('insp-st-refres', reloadData) +}) +</script> + +<style scoped lang="scss"> +.menu-title-box { +} + +.slot-img { + width: 72rpx; + height: 72rpx; + margin-right: 24rpx; +} +.statu-img { + width: 60rpx; + height: 40rpx; +} +.text-mini { + font-size: 22rpx; +} + +.menu-indicator { + width: 6rpx; + height: 26rpx; + border-radius: 10rpx; + background-color: $uni-color-primary; +} +:deep(.wd-card__footer) { + padding: 10rpx !important; +} +:deep(.wd-card__title-content) { + padding: 24rpx 0 !important; +} +</style> -- Gitblit v1.9.3