fix: bug#11373

This commit is contained in:
leiqiaochu 2023-04-03 14:56:08 +08:00
parent 1940a76ac8
commit a42e6a8fb6
4 changed files with 95 additions and 59 deletions

View File

@ -257,21 +257,7 @@ import { getImage } from '@/utils/comm.ts';
import { Form, message } from 'jetlinks-ui-components';
import { FILE_UPLOAD } from '@/api/comm';
import {
getSystemPermission,
save,
addRole,
getRoleMenu,
updateRoleMenu,
getResourcesCurrent,
saveNetwork,
saveProtocol,
getProtocol,
saveAccessConfig,
saveProduct,
saveDevice,
changeDeploy,
deployDevice,
saveInit,
} from '@/api/initHome';
import { LocalStore } from '@/utils/comm';
import { TOKEN_KEY } from '@/utils/variable';

View File

@ -104,48 +104,99 @@ const addRoleData = async () => {
return resolve(true);
}
let Count = 0;
keys.value.forEach(async (item, index) => {
const _itemData = RoleData[item];
//
const res = await addRole(_itemData);
if (res.status === 200) {
const menuTree = await getRoleMenu(res.result.id);
if (menuTree.status === 200) {
const _roleData = (RoleMenuData[item] as []).filter(
(roleItem: any) => {
const _menu = findMenuByRole(
menuTree.result,
roleItem.code,
);
if (_menu) {
roleItem.id = _menu.id;
roleItem.parentId = _menu.parentId;
roleItem.createTime = _menu.createTime;
return true;
}
return false;
},
);
//
const roleRes = await updateRoleMenu(res.result.id, {
menus: _roleData,
});
if (roleRes.status === 200) {
Count += 1;
}
if (index === keys.value.length - 1) {
resolve(Count === keys.value.length);
}
} else if (index === keys.value.length - 1) {
resolve(Count === keys.value.length);
let allPromise = [];
allPromise = keys.value.map(async (item, index) => {
return await saveRoleData(item);
// const _itemData = RoleData[item];
// //
// const res = await addRole(_itemData);
// if (res.status === 200) {
// const menuTree = await getRoleMenu(res.result.id);
// if (menuTree.status === 200) {
// const _roleData = (RoleMenuData[item] as []).filter(
// (roleItem: any) => {
// const _menu = findMenuByRole(
// menuTree.result,
// roleItem.code,
// );
// if (_menu) {
// roleItem.id = _menu.id;
// roleItem.parentId = _menu.parentId;
// roleItem.createTime = _menu.createTime;
// return true;
// }
// return false;
// },
// );
// //
// const roleRes = await updateRoleMenu(res.result.id, {
// menus: _roleData,
// });
// if (roleRes.status === 200) {
// // Count += 1;
// resolve(true);
// }
// // if (index === keys.value.length - 1) {
// // resolve(Count === keys.value.length);
// // }
// } else if (index === keys.value.length - 1) {
// resolve(Count === keys.value.length);
// }
// } else if (index === keys.value.length - 1) {
// resolve(Count === keys.value.length);
// roleData.isSucessRole = 2;
// } else {
// resolve(false);
// }
});
Promise.all(allPromise).then((item) => {
resolve(
item.every((i) => {
return i;
}),
);
});
});
};
const saveRoleData = (item: any) => {
return new Promise(async (resolve) => {
const _itemData = RoleData[item];
//
const res = await addRole(_itemData);
if (res.status === 200) {
const menuTree = await getRoleMenu(res.result.id);
if (menuTree.status === 200) {
const _roleData = (RoleMenuData[item] as []).filter(
(roleItem: any) => {
const _menu = findMenuByRole(
menuTree.result,
roleItem.code,
);
if (_menu) {
roleItem.id = _menu.id;
roleItem.parentId = _menu.parentId;
roleItem.createTime = _menu.createTime;
return true;
}
return false;
},
);
//
const roleRes = await updateRoleMenu(res.result.id, {
menus: _roleData,
});
if (roleRes.status === 200) {
resolve(true);
} else {
resolve(false);
}
} else if (index === keys.value.length - 1) {
resolve(Count === keys.value.length);
roleData.isSucessRole = 2;
}else{
} else {
resolve(false);
}
});
} else {
resolve(false);
}
});
};
defineExpose({

View File

@ -60,12 +60,10 @@
</div>
</template>
<script setup lang="ts">
import { getImage } from '@/utils/comm.ts';
import Basic from './Basic/index.vue';
import Role from './Role/index.vue';
import Menu from './Menu/index.vue';
import InitData from './InitData/index.vue';
import { modalState, formState, logoState } from './data/interface';
import { getInit, saveInit } from '@/api/initHome';
import { BASE_API_PATH, TOKEN_KEY } from '@/utils/variable';
import { FILE_UPLOAD } from '@/api/comm';
@ -110,6 +108,7 @@ const submitData = async () => {
return;
}
const roleRes = await roleRef.value.submitRole();
console.log(roleRes);
if (!roleRes) {
loading.value = false;
return;
@ -140,8 +139,8 @@ const judgeInitSet = async () => {
}
};
onBeforeMount(() => {
// judgeInitSet();
})
// judgeInitSet();
});
</script>
<style scoped lang="less">
.page-container {

View File

@ -92,8 +92,8 @@ export default defineConfig(({ mode}) => {
[env.VITE_APP_BASE_API]: {
// target: 'http://192.168.33.22:8800',
// target: 'http://192.168.32.244:8881',
target: 'http://120.77.179.54:8844', // 120测试
// target: 'http://192.168.33.46:8844', // 本地开发环境
// target: 'http://120.77.179.54:8844', // 120测试
target: 'http://192.168.33.46:8844', // 本地开发环境
ws: 'ws://192.168.33.46:8844',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, '')