| | |
| | | <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-item |
| | | v-model="equTypeId" |
| | | label-key="dictLabel" |
| | | value-key="dictValue" |
| | | :options="typeList" |
| | | @change="handleEquType" |
| | | /> |
| | | <wd-drop-menu-item |
| | | v-model="status" |
| | | label-key="dictLabel" |
| | | value-key="dictValue" |
| | | :options="statusList" |
| | | @change="handleEquStatu" |
| | | /> |
| | | </wd-drop-menu> |
| | | </template> |
| | | |
| | |
| | | <view class="flex items-center menu-title-box"> |
| | | <view class="menu-indicator"></view> |
| | | <text class="ml-1 text-xs">{{ item.assetNo }}</text> |
| | | <wd-tag v-if="item.status === '0'" class="ml-2" bg-color="cyan">试用</wd-tag> |
| | | <wd-tag v-else-if="item.status === '1'" class="ml-2" type="success">使用</wd-tag> |
| | | <wd-tag v-else-if="item.status === '2'" class="ml-2" type="danger">停用</wd-tag> |
| | | <wd-tag v-else-if="item.status === '3'" class="ml-2" bg-color="pink">报废</wd-tag> |
| | | <wd-tag v-else-if="item.status === '4'" class="ml-2" type="warning">闲置</wd-tag> |
| | | <wd-tag v-else-if="item.status === '5'" class="ml-2">新增</wd-tag> |
| | | </view> |
| | | |
| | | <view> |
| | | <view @click.stop="handleInfo"> |
| | | <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] items-center" @click.stop="itemClick(item)"> |
| | | <view class="flex h-[90rpx] items-center" @click.stop="itemClick(item)"> |
| | | <image class="slot-img text-center" src="/static/images/camera.png" /> |
| | | <view class="flex-1"> |
| | | <view class="text-color-base"> |
| | |
| | | </view> |
| | | </view> |
| | | <view v-if="isSelectEqu"> |
| | | <wd-button |
| | | size="small" |
| | | icon="edit-outline" |
| | | @click.stop="handleSelectEqu(item)" |
| | | > |
| | | <wd-button size="small" icon="edit-outline" @click.stop="handleSelectEqu(item)"> |
| | | 选中 |
| | | </wd-button> |
| | | </view> |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import { onMounted, getCurrentInstance, ref } from 'vue' |
| | | |
| | | import { getEquList } from '@/service/equ' |
| | | import { DICT_SYS_EQU_STATUS, getDictInfo } from '@/service/dict' |
| | | |
| | | // 设备类型 |
| | | const equTypeId = ref<number>(0) |
| | | const equTypeId = ref<number>(-1) |
| | | // 设备状态 |
| | | const status = ref<number>(0) |
| | | const status = ref<number>(-1) |
| | | |
| | | const isSelectEqu = ref(false) |
| | | |
| | | const typeList = ref<Record<string, any>[]>([{ label: '所有设备', value: 0 }]) |
| | | const statusList = ref<Record<string, any>[]>([{ label: '所有状态', value: 0 }]) |
| | | const typeList = ref<Record<string, any>[]>([{ dictLabel: '设备类型', dictValue: -1 }]) |
| | | const statusList = ref<Record<string, any>[]>([{ dictLabel: '所有状态', dictValue: -1 }]) |
| | | function handleEquType({ value }) { |
| | | reloadData() |
| | | console.log(value) |
| | | } |
| | | function handleEquStatu({ value }) { |
| | | reloadData() |
| | | console.log(value) |
| | | } |
| | | |
| | |
| | | const dataList = ref([]) |
| | | |
| | | const queryList = (pageNum?: number, pageSize?: number) => { |
| | | // 这里的pageNo和pageSize会自动计算好,直接传给服务器即可 |
| | | // 这里的请求只是演示,请替换成自己的项目的网络请求,并在网络请求回调中通过paging.value.complete(请求回来的数组)将请求结果传给z-paging |
| | | getEquList({ pageNum, pageSize }) |
| | | const parmams = { |
| | | pageNum, |
| | | pageSize, |
| | | equTypeId: equTypeId.value, |
| | | status: status.value, |
| | | } |
| | | if (equTypeId.value === -1) { |
| | | delete parmams.equTypeId |
| | | } |
| | | if (status.value === -1) { |
| | | delete parmams.status |
| | | } |
| | | getEquList(parmams) |
| | | .then((res: any) => { |
| | | // 请勿在网络请求回调中给dataList赋值!!只需要调用complete就可以了 |
| | | paging.value.completeByTotal(res.rows, res.total) |
| | |
| | | * 设备条目点击事件 |
| | | * @param item |
| | | */ |
| | | function itemClick(item: any) { |
| | | |
| | | function itemClick(item: any) {} |
| | | function handleInfo() { |
| | | uni.showToast({ |
| | | title: '功能开发中', |
| | | icon: 'none', |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 其它页面选择设备 |
| | | * @param item |
| | |
| | | }) |
| | | } |
| | | |
| | | |
| | | const eventChannel = ref<any>() |
| | | onMounted(() => { |
| | | const instance: any = getCurrentInstance().proxy |
| | |
| | | isSelectEqu.value = true |
| | | console.log('OnSelectEqu', data) |
| | | }) |
| | | }) |
| | | |
| | | function reloadData() { |
| | | paging.value.reload() |
| | | } |
| | | |
| | | async function initData() { |
| | | const sList: any = await getDictInfo(DICT_SYS_EQU_STATUS) |
| | | statusList.value.push(...sList) |
| | | } |
| | | |
| | | onLoad(() => { |
| | | initData() |
| | | }) |
| | | </script> |
| | | |
| | |
| | | :deep(.wd-card__footer) { |
| | | padding: 10rpx !important; |
| | | } |
| | | :deep(.wd-card__title-content) { |
| | | padding: 16rpx !important; |
| | | } |
| | | </style> |