Selaa lähdekoodia

Merge branch 'qhse_fix' of shuzhihua/pms-iot-vue into master

yanghao 6 tuntia sitten
vanhempi
commit
554bc13b07
1 muutettua tiedostoa jossa 29 lisäystä ja 42 poistoa
  1. 29 42
      src/views/pms/device/index.vue

+ 29 - 42
src/views/pms/device/index.vue

@@ -194,7 +194,7 @@
               >
                 <el-popover placement="bottom" :width="250" trigger="click">
                   <template #reference>
-                    <div class="flex items-center" @click.stop>
+                    <div class="flex items-center cursor-pointer" @click.stop>
                       <span> 油服编码 </span>
                       <Icon
                         icon="ep:arrow-down"
@@ -232,7 +232,7 @@
               >
                 <el-popover placement="bottom" :width="250" trigger="click">
                   <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" />
                     </div>
                   </template>
@@ -265,7 +265,7 @@
               >
                 <el-popover placement="bottom" :width="250" trigger="click">
                   <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" />
                     </div>
                   </template>
@@ -297,7 +297,7 @@
               >
                 <el-popover placement="bottom" :width="250" trigger="click">
                   <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" />
                     </div>
                   </template>
@@ -328,7 +328,7 @@
               >
                 <el-popover placement="bottom" :width="250" trigger="click">
                   <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" />
                     </div>
                   </template>
@@ -359,7 +359,7 @@
             <template #header>
               <div class="flex items-center justify-center pb-[1px]">
                 <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>
                   <template #dropdown>
@@ -388,7 +388,7 @@
             <template #header>
               <div class="flex items-center justify-center pb-[1px]">
                 <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>
                   <template #dropdown>
@@ -421,7 +421,7 @@
               >
                 <el-popover placement="bottom" :width="250" trigger="click">
                   <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" />
                     </div>
                   </template>
@@ -447,7 +447,7 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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" />
                   </div>
                 </template>
@@ -468,7 +468,7 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <template #reference>
-                  <div class="flex items-center" @click.stop>
+                  <div class="flex items-center cursor-pointer gap-1" @click.stop>
                     <span>
                       {{ t('deviceForm.mfg') }}
                     </span>
@@ -476,31 +476,15 @@
                   </div>
                 </template>
                 <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
                     v-model="queryParams.manufacturerId"
                     style="width: 220px"
                     filterable
                     :teleported="false"
+                    :loading="brandList.length === 0"
+                    loading-text="数据加载中..."
                     @change="handleQuery"
+                    @visible-change="handleBrandChange"
                   >
                     <el-option
                       v-for="item in brandList"
@@ -523,7 +507,7 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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" />
                   </div>
                 </template>
@@ -548,7 +532,7 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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" />
                   </div>
                 </template>
@@ -573,7 +557,7 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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" />
                   </div>
                 </template>
@@ -598,7 +582,7 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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" />
                   </div>
                 </template>
@@ -623,8 +607,9 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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>
                 </template>
                 <div class="flex items-center gap-2">
@@ -643,8 +628,8 @@
             <template #header>
               <el-popover placement="bottom" :width="250" trigger="click">
                 <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 />
                   </div>
                 </template>
@@ -708,7 +693,7 @@ import download from '@/utils/download'
 import { IotDeviceApi, IotDeviceVO } from '@/api/pms/device'
 import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
 import DeptTree from '@/views/system/user/DeptTree.vue'
-import { useCache } from '@/hooks/web/useCache'
+
 import { buildSortingField } from '@/utils'
 import { defaultProps, handleTree } from '@/utils/tree'
 import * as ProductClassifyApi from '@/api/pms/productclassify'
@@ -877,8 +862,10 @@ const handleDetail = (id: number) => {
   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
   }
 }
-const { wsCache } = useCache()
+
 /** 初始化 **/
 onMounted(async () => {
   productClassifyList.value = handleTree(
     await ProductClassifyApi.IotProductClassifyApi.getSimpleProductClassifyList()
   )
 
-  brandList.value = await IotDeviceApi.getDeviceBrand()
+  // brandList.value = await IotDeviceApi.getDeviceBrand()
   const sort = {
     field: 'sortColumn',
     order: 'asc'