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 { Form, message } from 'jetlinks-ui-components';
import { FILE_UPLOAD } from '@/api/comm'; import { FILE_UPLOAD } from '@/api/comm';
import { import {
getSystemPermission,
save, save,
addRole,
getRoleMenu,
updateRoleMenu,
getResourcesCurrent,
saveNetwork,
saveProtocol,
getProtocol,
saveAccessConfig,
saveProduct,
saveDevice,
changeDeploy,
deployDevice,
saveInit,
} from '@/api/initHome'; } from '@/api/initHome';
import { LocalStore } from '@/utils/comm'; import { LocalStore } from '@/utils/comm';
import { TOKEN_KEY } from '@/utils/variable'; import { TOKEN_KEY } from '@/utils/variable';

View File

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

View File

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

View File

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