fix: bug#10706-1
This commit is contained in:
parent
bccff19042
commit
4e123ac64c
|
@ -18,6 +18,8 @@ export const getDeviceOrProductList_api = (data: object) => server.post(`/device
|
|||
export const getDeviceList_api = (data: object) => server.post(`/device/instance/_query`, data);
|
||||
// 根据产品的id获取产品的权限
|
||||
export const getPermission_api = (type: 'device' | 'product', ids: object, id: string) => server.post(`/assets/bindings/${type}/org/${id}/_query`, ids);
|
||||
// 获取绑定的权限
|
||||
export const getBindingsPermission = (type: 'device' | 'product', ids: string[]) => server.post(`/assets/bindings/${type}`, ids);
|
||||
// 获取产品的权限字典
|
||||
export const getPermissionDict_api = () => server.get(`/assets/bindings/product/permissions`);
|
||||
|
||||
|
|
|
@ -139,6 +139,7 @@ import {
|
|||
getDeviceList_api,
|
||||
getPermission_api,
|
||||
bindDeviceOrProductList_api,
|
||||
getBindingsPermission,
|
||||
} from '@/api/system/department';
|
||||
import { message } from 'jetlinks-ui-components';
|
||||
import { dictType } from '../typing';
|
||||
|
@ -295,22 +296,17 @@ const table: any = {
|
|||
const { pageIndex, pageSize, total, data } =
|
||||
resp.result as resultType;
|
||||
const ids = data.map((item) => item.id);
|
||||
getPermission_api(props.assetType, ids, parentId).then(
|
||||
// fix: bug#10706
|
||||
getBindingsPermission(props.assetType, ids).then(
|
||||
(perResp: any) => {
|
||||
const permissionObj = {};
|
||||
perResp.result.forEach((item: any) => {
|
||||
permissionObj[item.assetId] = props.allPermission
|
||||
.filter((permission) =>
|
||||
item.allPermissions.includes(permission.id),
|
||||
)
|
||||
.map((item) => ({
|
||||
label: item.name,
|
||||
value: item.id,
|
||||
data.forEach((item) => {
|
||||
item.permissionList = perResp.result
|
||||
.find((f: any) => f.assetId === item.id)
|
||||
.permissionInfoList?.map((m: any) => ({
|
||||
label: m.name,
|
||||
value: m.id,
|
||||
disabled: true,
|
||||
}));
|
||||
});
|
||||
data.forEach((item) => {
|
||||
item.permissionList = permissionObj[item.id];
|
||||
item.selectPermissions = ['read'];
|
||||
|
||||
// 产品的状态进行转换处理
|
||||
|
@ -331,11 +327,10 @@ const table: any = {
|
|||
};
|
||||
}
|
||||
});
|
||||
|
||||
resolve({
|
||||
code: 200,
|
||||
result: {
|
||||
data: data,
|
||||
data: data.sort((a, b) => a.createTime - b.createTime),
|
||||
pageIndex,
|
||||
pageSize,
|
||||
total,
|
||||
|
@ -344,6 +339,57 @@ const table: any = {
|
|||
});
|
||||
},
|
||||
);
|
||||
// getPermission_api(props.assetType, ids, parentId).then(
|
||||
// (perResp: any) => {
|
||||
// console.log('perResp: ', perResp);
|
||||
// console.log('props.allPermission: ', props.allPermission);
|
||||
// const permissionObj = {};
|
||||
// perResp.result.forEach((item: any) => {
|
||||
// permissionObj[item.assetId] = props.allPermission
|
||||
// .filter((permission) =>
|
||||
// item.allPermissions.includes(permission.id),
|
||||
// )
|
||||
// .map((item) => ({
|
||||
// label: item.name,
|
||||
// value: item.id,
|
||||
// disabled: true,
|
||||
// }));
|
||||
// });
|
||||
// data.forEach((item) => {
|
||||
// item.permissionList = permissionObj[item.id];
|
||||
// item.selectPermissions = ['read'];
|
||||
|
||||
// // 产品的状态进行转换处理
|
||||
// if (props.assetType === 'product') {
|
||||
// item.state = {
|
||||
// value:
|
||||
// item.state === 1
|
||||
// ? 'online'
|
||||
// : item.state === 0
|
||||
// ? 'offline'
|
||||
// : '',
|
||||
// text:
|
||||
// item.state === 1
|
||||
// ? '正常'
|
||||
// : item.state === 0
|
||||
// ? '禁用'
|
||||
// : '',
|
||||
// };
|
||||
// }
|
||||
// });
|
||||
|
||||
// resolve({
|
||||
// code: 200,
|
||||
// result: {
|
||||
// data: data,
|
||||
// pageIndex,
|
||||
// pageSize,
|
||||
// total,
|
||||
// },
|
||||
// status: 200,
|
||||
// });
|
||||
// },
|
||||
// );
|
||||
});
|
||||
}),
|
||||
// 整理参数并获取数据
|
||||
|
@ -398,10 +444,15 @@ const table: any = {
|
|||
},
|
||||
};
|
||||
table.init();
|
||||
const selectRow = (keys:string[], rows:any[]) => {
|
||||
const okRows = rows.filter(item=>!!item.permissionList.find((permiss:any)=>permiss.value === 'share'));
|
||||
const selectRow = (keys: string[], rows: any[]) => {
|
||||
const okRows = rows.filter(
|
||||
(item) =>
|
||||
!!item.permissionList.find(
|
||||
(permiss: any) => permiss.value === 'share',
|
||||
),
|
||||
);
|
||||
table.selectedRows = okRows;
|
||||
table._selectedRowKeys.value = okRows.map(item=>item.id)
|
||||
table._selectedRowKeys.value = okRows.map((item) => item.id);
|
||||
};
|
||||
</script>
|
||||
|
||||
|
|
Loading…
Reference in New Issue