Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

zhangcl 1 bulan lalu
induk
melakukan
ff3a40d0b6
1 mengubah file dengan 27 tambahan dan 16 penghapusan
  1. 27 16
      src/views/pms/iotopeationfill/plan/PlanDeviceList.vue

+ 27 - 16
src/views/pms/iotopeationfill/plan/PlanDeviceList.vue

@@ -37,14 +37,17 @@
             placeholder="请选择部门"
             class="!w-220px"
           />
-          <!--              <el-tree-select-->
-          <!--                v-model="formData.deptId"-->
-          <!--                :data="deptList"-->
-          <!--                :props="defaultProps"-->
-          <!--                check-strictly-->
-          <!--                node-key="id"-->
-          <!--                placeholder="请选择归属部门"-->
-          <!--              />-->
+          <el-form-item  :label="t('deviceForm.category')" prop="assetClass" style="width: 15vw;margin-left: 25px" >
+            <el-tree-select
+              v-model="queryParams.assetClass"
+              :data="productClassifyList"
+              :props="defaultProps"
+              check-strictly
+              node-key="id"
+              :placeholder="t('deviceForm.categoryHolder')"
+              filterable
+            />
+          </el-form-item>
         </el-form-item>
         <el-form-item>
           <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> {{ t('chooseMaintain.search') }}</el-button>
@@ -52,7 +55,6 @@
           <el-button @click="handleConfirm" type="danger"><Icon icon="ep:check" class="mr-5px" />  {{ t('chooseMaintain.confirm')  }}</el-button>
           <el-button
             type="primary"
-            size="small"
             @click="selectAll"
             :disabled="loading || list.length === 0 || isAllSelected"
           >
@@ -60,7 +62,6 @@
           </el-button>
           <el-button
             type="default"
-            size="small"
             @click="deselectAll"
             :disabled="loading || (!isAllSelected && selectedRows.length === 0)"
             style="margin-left: 8px;"
@@ -158,6 +159,7 @@ import RouteInspectItemDrawer from "@/views/pms/inspect/plan/RouteInspectItemDra
 import {ref} from "vue";
 import {defaultProps, handleTree} from "@/utils/tree";
 import * as DeptApi from "@/api/system/dept";
+import * as ProductClassifyApi from "@/api/pms/productclassify";
 const { t } = useI18n() // 国际化
 const emit = defineEmits(['choose']) // 定义 success 事件,用于操作成功后的回调
 const dialogVisible = ref(false) // 弹窗的是否展示
@@ -168,6 +170,7 @@ const total = ref(0) // 列表的总页数
 const deptList = ref<Tree[]>([]) // 树形结构
 const drawerVisible = ref<boolean>(false)
 const showDrawer = ref()
+const productClassifyList = ref<Tree[]>([]) // 树形结构
 const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
@@ -206,7 +209,7 @@ const selectAll = async () => {
     paramsCopy.pageSize = 100; // 按后台限制的最大页数获取
 
     // 获取第一页数据
-    const firstPageData = await IotDeviceApi.getPlanDevicePage(paramsCopy);
+    const firstPageData = await IotDeviceApi.getIotDevicePage(paramsCopy);
     totalSelectedCount.value = firstPageData.total;
     allDataCache.value.push(...firstPageData.list);
 
@@ -216,7 +219,7 @@ const selectAll = async () => {
       const fetchPromises = [];
 
       for (let page = 2; page <= totalPages; page++) {
-        fetchPromises.push(IotDeviceApi.getPlanDevicePage({ ...paramsCopy, pageNo: page }));
+        fetchPromises.push(IotDeviceApi.getIotDevicePage({ ...paramsCopy, pageNo: page }));
       }
 
       const remainingPages = await Promise.all(fetchPromises);
@@ -232,10 +235,10 @@ const selectAll = async () => {
     queryParams.pageNo = originalPageNo;
     queryParams.pageSize = originalPageSize;
 
-    message.success(t('operationFill.allSelected', { count: totalSelectedCount.value }));
+    message.success(t('operationFill.selectAll', { count: totalSelectedCount.value }));
   } catch (error) {
     console.error('全选失败', error);
-    message.error(t('operationFill.selectAllFailed'));
+    //message.error(t('operationFill.selectAllFailed'));
     isAllSelected.value = false;
     selectedRows.value = [];
   } finally {
@@ -250,7 +253,7 @@ const deselectAll = () => {
   selectedRows.value = []; // 清空所有选中项
   allDataCache.value = []; // 清空缓存
   totalSelectedCount.value = 0;
-  message.info(t('operationFill.allDeselected'));
+  message.info(t('operationFill.deselectAll'));
 };
 
 // 修改单选逻辑,确保selectedRows正确更新
@@ -403,7 +406,7 @@ const getList = async () => {
   loading.value = true
   list.value = []
   try {
-    const data = await IotDeviceApi.getPlanDevicePage(queryParams)
+    const data = await IotDeviceApi.getIotDevicePage(queryParams)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -425,6 +428,14 @@ const resetQuery = () => {
   queryFormRef.value.resetFields()
   handleQuery()
 }
+
+onMounted(async () => {
+  productClassifyList.value = handleTree(
+    await ProductClassifyApi.IotProductClassifyApi.getSimpleProductClassifyList()
+  )
+})
+
+
 </script>
 <style lang="scss">
 .no-label-radio .el-radio__label {