|
@@ -194,7 +194,7 @@
|
|
|
>
|
|
>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer" @click.stop>
|
|
|
<span> 油服编码 </span>
|
|
<span> 油服编码 </span>
|
|
|
<Icon
|
|
<Icon
|
|
|
icon="ep:arrow-down"
|
|
icon="ep:arrow-down"
|
|
@@ -232,7 +232,7 @@
|
|
|
>
|
|
>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> 历史编码 </span> <Icon icon="ep:arrow-down" />
|
|
<span> 历史编码 </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -265,7 +265,7 @@
|
|
|
>
|
|
>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> 设备名称 </span> <Icon icon="ep:arrow-down" />
|
|
<span> 设备名称 </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -297,7 +297,7 @@
|
|
|
>
|
|
>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> 设备号 </span> <Icon icon="ep:arrow-down" />
|
|
<span> 设备号 </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -328,7 +328,7 @@
|
|
|
>
|
|
>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> {{ t('iotDevice.dept') }} </span> <Icon icon="ep:arrow-down" />
|
|
<span> {{ t('iotDevice.dept') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -359,7 +359,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<div class="flex items-center justify-center pb-[1px]">
|
|
<div class="flex items-center justify-center pb-[1px]">
|
|
|
<el-dropdown @command="handleCommand">
|
|
<el-dropdown @command="handleCommand">
|
|
|
- <span class="text-[#ad9399] text-[12px] cursor-pointer flex items-center">
|
|
|
|
|
|
|
+ <span class="text-[#ad9399] text-[12px] cursor-pointer flex items-center gap-1">
|
|
|
<span> 设备状态 </span> <Icon icon="ep:arrow-down" />
|
|
<span> 设备状态 </span> <Icon icon="ep:arrow-down" />
|
|
|
</span>
|
|
</span>
|
|
|
<template #dropdown>
|
|
<template #dropdown>
|
|
@@ -388,7 +388,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<div class="flex items-center justify-center pb-[1px]">
|
|
<div class="flex items-center justify-center pb-[1px]">
|
|
|
<el-dropdown @command="handleAssetProperty">
|
|
<el-dropdown @command="handleAssetProperty">
|
|
|
- <span class="text-[#ad9399] text-[12px] cursor-pointer flex items-center">
|
|
|
|
|
|
|
+ <span class="text-[#ad9399] text-[12px] cursor-pointer flex items-center gap-1">
|
|
|
<span> 资产性质 </span> <Icon icon="ep:arrow-down" />
|
|
<span> 资产性质 </span> <Icon icon="ep:arrow-down" />
|
|
|
</span>
|
|
</span>
|
|
|
<template #dropdown>
|
|
<template #dropdown>
|
|
@@ -421,7 +421,7 @@
|
|
|
>
|
|
>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> {{ t('iotDevice.assetClass') }} </span> <Icon icon="ep:arrow-down" />
|
|
<span> {{ t('iotDevice.assetClass') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -447,7 +447,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> 车牌号 </span> <Icon icon="ep:arrow-down" />
|
|
<span> 车牌号 </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -468,7 +468,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span>
|
|
<span>
|
|
|
{{ t('deviceForm.mfg') }}
|
|
{{ t('deviceForm.mfg') }}
|
|
|
</span>
|
|
</span>
|
|
@@ -476,31 +476,15 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<div class="flex items-center gap-2">
|
|
<div class="flex items-center gap-2">
|
|
|
- <!-- <el-input
|
|
|
|
|
- v-model="queryParams.manufacturer"
|
|
|
|
|
- placeholder="请输入制造商"
|
|
|
|
|
- style="width: 180px"
|
|
|
|
|
- clearable
|
|
|
|
|
- />
|
|
|
|
|
- <el-button type="primary" :icon="Search" @click="handleQuery">搜索</el-button> -->
|
|
|
|
|
- <!-- <el-tree-select
|
|
|
|
|
- :teleported="false"
|
|
|
|
|
- v-model="queryParams.manufacturerId"
|
|
|
|
|
- :data="brandList"
|
|
|
|
|
- :props="defaultProps"
|
|
|
|
|
- check-strictly
|
|
|
|
|
- node-key="id"
|
|
|
|
|
- filterable
|
|
|
|
|
- placeholder="请选择制造商"
|
|
|
|
|
- @change="handleQuery"
|
|
|
|
|
- style="width: 220px"
|
|
|
|
|
- /> -->
|
|
|
|
|
<el-select
|
|
<el-select
|
|
|
v-model="queryParams.manufacturerId"
|
|
v-model="queryParams.manufacturerId"
|
|
|
style="width: 220px"
|
|
style="width: 220px"
|
|
|
filterable
|
|
filterable
|
|
|
:teleported="false"
|
|
:teleported="false"
|
|
|
|
|
+ :loading="brandList.length === 0"
|
|
|
|
|
+ loading-text="数据加载中..."
|
|
|
@change="handleQuery"
|
|
@change="handleQuery"
|
|
|
|
|
+ @visible-change="handleBrandChange"
|
|
|
>
|
|
>
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="item in brandList"
|
|
v-for="item in brandList"
|
|
@@ -523,7 +507,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> {{ t('deviceForm.brand') }} </span> <Icon icon="ep:arrow-down" />
|
|
<span> {{ t('deviceForm.brand') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -548,7 +532,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> {{ t('deviceForm.model') }} </span> <Icon icon="ep:arrow-down" />
|
|
<span> {{ t('deviceForm.model') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -573,7 +557,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center" @click.stop>
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1" @click.stop>
|
|
|
<span> {{ t('devicePerson.rp') }} </span> <Icon icon="ep:arrow-down" />
|
|
<span> {{ t('devicePerson.rp') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -598,7 +582,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center">
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1">
|
|
|
<span> {{ t('deviceForm.useProject') }} </span> <Icon icon="ep:arrow-down" />
|
|
<span> {{ t('deviceForm.useProject') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -623,8 +607,9 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="flex items-center">
|
|
|
|
|
- <span> {{ t('deviceForm.assetOwner') }} </span> <Icon icon="ep:arrow-down" />
|
|
|
|
|
|
|
+ <div class="flex items-center cursor-pointer gap-1">
|
|
|
|
|
+ <span> {{ t('deviceForm.assetOwner') }} </span>
|
|
|
|
|
+ <Icon icon="ep:arrow-down" />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
<div class="flex items-center gap-2">
|
|
<div class="flex items-center gap-2">
|
|
@@ -643,8 +628,8 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
<el-popover placement="bottom" :width="250" trigger="click">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <div class="table-header-flex">
|
|
|
|
|
- <span>所在地点</span>
|
|
|
|
|
|
|
+ <div class="table-header-flex cursor-pointer">
|
|
|
|
|
+ <span class="pr-1">所在地点</span>
|
|
|
<Icon icon="ep:arrow-down" @click.stop />
|
|
<Icon icon="ep:arrow-down" @click.stop />
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -708,7 +693,7 @@ import download from '@/utils/download'
|
|
|
import { IotDeviceApi, IotDeviceVO } from '@/api/pms/device'
|
|
import { IotDeviceApi, IotDeviceVO } from '@/api/pms/device'
|
|
|
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
|
|
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
|
|
|
import DeptTree from '@/views/system/user/DeptTree.vue'
|
|
import DeptTree from '@/views/system/user/DeptTree.vue'
|
|
|
-import { useCache } from '@/hooks/web/useCache'
|
|
|
|
|
|
|
+
|
|
|
import { buildSortingField } from '@/utils'
|
|
import { buildSortingField } from '@/utils'
|
|
|
import { defaultProps, handleTree } from '@/utils/tree'
|
|
import { defaultProps, handleTree } from '@/utils/tree'
|
|
|
import * as ProductClassifyApi from '@/api/pms/productclassify'
|
|
import * as ProductClassifyApi from '@/api/pms/productclassify'
|
|
@@ -877,8 +862,10 @@ const handleDetail = (id: number) => {
|
|
|
push({ name: 'DeviceDetailInfo', params: { id } })
|
|
push({ name: 'DeviceDetailInfo', params: { id } })
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const handleUpload = (id: number) => {
|
|
|
|
|
- push({ name: 'DeviceUpload', params: { id } })
|
|
|
|
|
|
|
+const handleBrandChange = async (visible) => {
|
|
|
|
|
+ if (visible && brandList.value.length === 0) {
|
|
|
|
|
+ brandList.value = await IotDeviceApi.getDeviceBrand()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 导出按钮操作 */
|
|
/** 导出按钮操作 */
|
|
@@ -895,14 +882,14 @@ const handleExport = async () => {
|
|
|
exportLoading.value = false
|
|
exportLoading.value = false
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-const { wsCache } = useCache()
|
|
|
|
|
|
|
+
|
|
|
/** 初始化 **/
|
|
/** 初始化 **/
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
|
productClassifyList.value = handleTree(
|
|
productClassifyList.value = handleTree(
|
|
|
await ProductClassifyApi.IotProductClassifyApi.getSimpleProductClassifyList()
|
|
await ProductClassifyApi.IotProductClassifyApi.getSimpleProductClassifyList()
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
- brandList.value = await IotDeviceApi.getDeviceBrand()
|
|
|
|
|
|
|
+ // brandList.value = await IotDeviceApi.getDeviceBrand()
|
|
|
const sort = {
|
|
const sort = {
|
|
|
field: 'sortColumn',
|
|
field: 'sortColumn',
|
|
|
order: 'asc'
|
|
order: 'asc'
|