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/equ/equ-list.vue | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 150 insertions(+), 0 deletions(-) diff --git a/eims-ui-mobile/src/pages/equ/equ-list.vue b/eims-ui-mobile/src/pages/equ/equ-list.vue new file mode 100644 index 0000000..0e6ff84 --- /dev/null +++ b/eims-ui-mobile/src/pages/equ/equ-list.vue @@ -0,0 +1,150 @@ +<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="equTypeId" :options="typeList" @change="handleEquType" /> + <wd-drop-menu-item v-model="status" :options="statusList" @change="handleEquStatu" /> + </wd-drop-menu> + </template> + + <view class="bg-base"> + <wd-card type="rectangle" v-for="(item, index) in dataList" :key="item.id"> + <template #title> + <view class="flex justify-between items-baseline"> + <view class="flex items-center menu-title-box"> + <view class="menu-indicator"></view> + <text class="ml-1 text-xs">{{ item.assetNo }}</text> + </view> + + <view> + <text class="icon-color-base">璇︽儏</text> + <wd-icon name="arrow-right" custom-class="icon-color-base"></wd-icon> + </view> + </view> + </template> + <view class="flex h-[80rpx]" @click.stop="itemClick(item)"> + <image class="slot-img text-center" src="/static/images/camera.png" /> + <view> + <view class="text-color-base"> + {{ item.equName }} + <text class="text-color-gray ml-2 text-mini">{{ item.modelNo }}</text> + </view> + <view class="text-color-gray text-xs mt-1"> + {{ item.location }} | {{ item.madeIn }} + </view> + </view> + </view> + </wd-card> + </view> + </z-paging> +</template> + +<script setup lang="ts"> +import { onMounted, getCurrentInstance, ref } from 'vue' + +import { getEquList } from '@/service/equ' + +// 璁惧绫诲瀷 +const equTypeId = ref<number>(0) +// 璁惧鐘舵�� +const status = ref<number>(0) + +const isSelectEqu = ref(false) + +const typeList = ref<Record<string, any>[]>([{ label: '鎵�鏈夎澶�', value: 0 }]) +const statusList = ref<Record<string, any>[]>([{ label: '鎵�鏈夌姸鎬�', value: 0 }]) +function handleEquType({ value }) { + console.log(value) +} +function handleEquStatu({ value }) { + console.log(value) +} + +const paging = ref(null) +const dataList = ref([]) + +const queryList = (pageNum?: number, pageSize?: number) => { + // 杩欓噷鐨刾ageNo鍜宲ageSize浼氳嚜鍔ㄨ绠楀ソ锛岀洿鎺ヤ紶缁欐湇鍔″櫒鍗冲彲 + // 杩欓噷鐨勮姹傚彧鏄紨绀猴紝璇锋浛鎹㈡垚鑷繁鐨勯」鐩殑缃戠粶璇锋眰锛屽苟鍦ㄧ綉缁滆姹傚洖璋冧腑閫氳繃paging.value.complete(璇锋眰鍥炴潵鐨勬暟缁�)灏嗚姹傜粨鏋滀紶缁檢-paging + getEquList({ pageNum, pageSize }) + .then((res: any) => { + // 璇峰嬁鍦ㄧ綉缁滆姹傚洖璋冧腑缁檇ataList璧嬪�硷紒锛佸彧闇�瑕佽皟鐢╟omplete灏卞彲浠ヤ簡 + console.log(res) + paging.value.complete(res.rows) + }) + .catch((res) => { + // 濡傛灉璇锋眰澶辫触鍐檖aging.value.complete(false)锛屼細鑷姩灞曠ず閿欒椤甸潰 + // 娉ㄦ剰锛屾瘡娆¢兘闇�瑕佸湪catch涓啓杩欏彞璇濆緢楹荤儲锛寊-paging鎻愪緵浜嗘柟妗堝彲浠ュ叏灞�缁熶竴澶勭悊 + // 鍦ㄥ簳灞傜殑缃戠粶璇锋眰鎶涘嚭寮傚父鏃讹紝鍐檜ni.$emit('z-paging-error-emit');鍗冲彲 + paging.value.complete(false) + }) +} + +/** + * 璁惧鏉$洰鐐瑰嚮浜嬩欢 + * @param item + */ +function itemClick(item: any) { + if (isSelectEqu.value) { + emitSelectEqu(item) + uni.navigateBack() + } +} + +/** + * 閫夋嫨璁惧鍥炶皟 + * @param equ + */ +function emitSelectEqu(equ: any) { + eventChannel.value.emit('selectEqu', { + data: equ, + }) +} + + +const eventChannel = ref<any>() +onMounted(() => { + const instance: any = getCurrentInstance().proxy + const event = instance.getOpenerEventChannel() + eventChannel.value = event + event.on('handleSelectEqu', function (data) { + isSelectEqu.value = true + console.log('handleSelectEqu', data) + }) +}) +</script> + +<style scoped lang="scss"> +.menu-title-box { + height: 30rpx; + line-height: 30rpx; +} + +.slot-img { + width: 72rpx; + height: 72rpx; + margin-right: 24rpx; +} +.text-mini { + font-size: 22rpx; +} + +.menu-indicator { + width: 6rpx; + height: 22rpx; + border-radius: 10rpx; + background-color: $uni-color-primary; +} +:deep(.wd-card__footer) { + padding: 10rpx !important; +} +</style> -- Gitblit v1.9.3