From 60acde0b8eb053a839173b4402de3a1828214799 Mon Sep 17 00:00:00 2001
From: easy <1358086367@qq.com>
Date: Mon, 13 Feb 2023 18:11:22 +0800
Subject: [PATCH] =?UTF-8?q?update:=20=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86-?=
=?UTF-8?q?=E4=BA=A7=E5=93=81=E3=80=81=E8=AE=BE=E5=A4=87=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/system/department.ts | 23 +-
.../components/AddDeviceOrProductDialog.vue | 189 +-
.../components/EditPermissionDialog.vue | 57 +-
src/views/system/Department/device/index.vue | 414 +-
src/views/system/Department/index.vue | 10 +-
src/views/system/Department/product/index.vue | 65 +-
src/views/system/Department/typing.d.ts | 8 +-
yarn.lock | 8380 ++++++++---------
8 files changed, 4672 insertions(+), 4474 deletions(-)
diff --git a/src/api/system/department.ts b/src/api/system/department.ts
index 0a249ffe..e61b4de0 100644
--- a/src/api/system/department.ts
+++ b/src/api/system/department.ts
@@ -1,18 +1,27 @@
import server from '@/utils/request';
// 获取部门数据
-export const getTreeData_api = (data:object) => server.post(`/organization/_all/tree`, data);
+export const getTreeData_api = (data: object) => server.post(`/organization/_all/tree`, data);
// 新增部门
-export const addDepartment_api = (data:object) => server.post(`/organization`, data);
+export const addDepartment_api = (data: object) => server.post(`/organization`, data);
// 更新部门
-export const updateDepartment_api = (data:object) => server.patch(`/organization`, data);
+export const updateDepartment_api = (data: object) => server.patch(`/organization`, data);
// 删除部门
-export const delDepartment_api = (id:string) => server.remove(`/organization/${id}`);
+export const delDepartment_api = (id: string) => server.remove(`/organization/${id}`);
// 获取产品列表
-export const getDeviceOrProductList_api = (data:object) => server.post(`/device-product/_query`, data);
+export const getDeviceOrProductList_api = (data: object) => server.post(`/device-product/_query`, data);
+// 获取设备列表
+export const getDeviceList_api = (data: object) => server.post(`/device/instance/_query`, data);
// 根据产品的id获取产品的权限
-export const getPermission_api = (ids:object, id:string) => server.post(`/assets/bindings/product/org/${id}/_query`, ids);
+export const getPermission_api = (type:'device' | 'product',ids: object, id: string) => server.post(`/assets/bindings/${type}/org/${id}/_query`, ids);
// 获取产品的权限字典
-export const getPermissionDict_api = () => server.get(`/assets/bindings/product/permissions`);
\ No newline at end of file
+export const getPermissionDict_api = () => server.get(`/assets/bindings/product/permissions`);
+
+// 部门绑定产品
+export const bindDeviceOrProductList_api = (type: 'device' | 'product', data: object) => server.post(`/assets/bind/${type}`, data);
+// 批量解绑
+export const unBindDeviceOrProduct_api = (type: 'device' | 'product', data: object) => server.post(`/assets/unbind/${type}`, data);
+// 批量更新权限
+export const updatePermission_api = (type: 'device' | 'product', parentId: string, data: object) => server.put(`/assets/permission/${type}/org/${parentId}/_batch`, data);
\ No newline at end of file
diff --git a/src/views/system/Department/components/AddDeviceOrProductDialog.vue b/src/views/system/Department/components/AddDeviceOrProductDialog.vue
index 41a9196e..512c387c 100644
--- a/src/views/system/Department/components/AddDeviceOrProductDialog.vue
+++ b/src/views/system/Department/components/AddDeviceOrProductDialog.vue
@@ -4,21 +4,29 @@
title="绑定"
width="1440px"
@ok="dialog.handleOk"
+ :confirmLoading="dialog.loading.value"
cancelText="取消"
okText="确定"
v-model:visible="dialog.visible.value"
+ destroyOnClose
>
-