refactor(系统设置): 系统菜单添加成员代码优化

This commit is contained in:
shiziyuan9527 2021-06-24 15:41:54 +08:00 committed by 刘瑞斌
parent 620812cdd6
commit b07097dcc3
2 changed files with 21 additions and 125 deletions

View File

@ -111,43 +111,7 @@
</el-dialog> </el-dialog>
<!-- add organization member form --> <!-- add organization member form -->
<el-dialog :close-on-click-modal="false" :title="$t('member.create')" :visible.sync="dialogOrgMemberAddVisible" <add-member :group-type="'ORGANIZATION'" :group-scope-id="orgId" ref="addMember" @submit="submitForm"/>
width="40%"
:destroy-on-close="true"
@close="closeFunc">
<el-form :model="memberForm" ref="form" :rules="orgMemberRule" label-position="right" label-width="100px"
size="small">
<el-form-item :label="$t('commons.member')" prop="userIds">
<el-select filterable v-model="memberForm.userIds" multiple :placeholder="$t('member.please_choose_member')"
class="select-width" :filter-method="dataFilter">
<el-option
v-for="item in memberForm.userList"
:key="item.id"
:label="item.name"
:value="item.id">
<span class="org-member-id">{{ item.id }}</span>
<span class="org-member-email">{{ item.email }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('commons.group')" prop="groupIds">
<el-select filterable v-model="memberForm.groupIds" multiple :placeholder="$t('group.please_select_group')"
class="select-width">
<el-option
v-for="item in memberForm.groups"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form>
<template v-slot:footer>
<ms-dialog-footer
@cancel="dialogOrgMemberAddVisible = false"
@confirm="submitForm('form')"/>
</template>
</el-dialog>
<!-- update organization member form --> <!-- update organization member form -->
<el-dialog :close-on-click-modal="false" :title="$t('member.modify')" :visible.sync="dialogOrgMemberUpdateVisible" <el-dialog :close-on-click-modal="false" :title="$t('member.modify')" :visible.sync="dialogOrgMemberUpdateVisible"
@ -205,8 +169,9 @@ import {
listenGoBack, listenGoBack,
removeGoBackListener removeGoBackListener
} from "@/common/js/utils"; } from "@/common/js/utils";
import {DEFAULT, GROUP_ORGANIZATION, ORGANIZATION} from "@/common/js/constants"; import {GROUP_ORGANIZATION} from "@/common/js/constants";
import MsDeleteConfirm from "../../common/components/MsDeleteConfirm"; import MsDeleteConfirm from "../../common/components/MsDeleteConfirm";
import AddMember from "@/business/components/settings/common/AddMember";
export default { export default {
name: "MsOrganization", name: "MsOrganization",
@ -218,7 +183,8 @@ export default {
MsRolesTag, MsRolesTag,
MsTableOperator, MsTableOperator,
MsDialogFooter, MsDialogFooter,
MsTableOperatorButton MsTableOperatorButton,
AddMember
}, },
computed: { computed: {
organizationId() { organizationId() {
@ -284,15 +250,7 @@ export default {
listenGoBack(this.closeFunc); listenGoBack(this.closeFunc);
}, },
addMember() { addMember() {
this.dialogOrgMemberAddVisible = true; this.$refs.addMember.open();
this.memberForm = {};
this.result = this.$get('/user/list/', response => {
this.$set(this.memberForm, "userList", response.data);
this.$set(this.memberForm, "copyUserList", response.data);
});
this.result = this.$post('/user/group/list', {type: GROUP_ORGANIZATION, resourceId: this.orgId}, response => {
this.$set(this.memberForm, "groups", response.data);
});
}, },
dataFilter(val) { dataFilter(val) {
if (val) { if (val) {
@ -458,21 +416,11 @@ export default {
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val;
}, },
submitForm(formName) { submitForm(param) {
this.$refs[formName].validate((valid) => { param['organizationId'] = this.currentRow.id;
if (valid) { this.result = this.$post("user/special/org/member/add", param, () => {
let param = { this.cellClick(this.currentRow);
userIds: this.memberForm.userIds, this.$refs.addMember.close();
groupIds: this.memberForm.groupIds,
organizationId: this.currentRow.id
};
this.result = this.$post("user/special/org/member/add", param, () => {
this.cellClick(this.currentRow);
this.dialogOrgMemberAddVisible = false;
});
} else {
return false;
}
}); });
}, },
updateOrgMember(formName) { updateOrgMember(formName) {

View File

@ -126,43 +126,7 @@
</el-dialog> </el-dialog>
<!-- add workspace member dialog --> <!-- add workspace member dialog -->
<el-dialog :close-on-click-modal="false" :title="$t('member.create')" :visible.sync="dialogWsMemberAddVisible" <add-member :group-type="'WORKSPACE'" :group-scope-id="orgId" ref="addMember" @submit="submitForm"/>
width="30%"
:destroy-on-close="true"
@close="handleClose">
<el-form :model="memberForm" ref="form" :rules="wsMemberRule" label-position="right" label-width="100px"
size="small">
<el-form-item :label="$t('commons.member')" prop="userIds">
<el-select filterable v-model="memberForm.userIds" multiple :placeholder="$t('member.please_choose_member')"
class="select-width" :filter-method="dataFilter">
<el-option
v-for="item in memberForm.userList"
:key="item.id"
:label="item.name"
:value="item.id">
<span class="ws-member-id">{{ item.id }}</span>
<span class="ws-member-email">{{ item.email }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('commons.group')" prop="groupIds">
<el-select filterable v-model="memberForm.groupIds" multiple :placeholder="$t('group.please_select_group')"
class="select-width">
<el-option
v-for="item in memberForm.groups"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-form>
<template v-slot:footer>
<ms-dialog-footer
@cancel="dialogWsMemberAddVisible = false"
@confirm="submitForm('form')"/>
</template>
</el-dialog>
<!-- update workspace member dialog --> <!-- update workspace member dialog -->
<el-dialog :close-on-click-modal="false" :title="$t('member.modify')" :visible.sync="dialogWsMemberUpdateVisible" <el-dialog :close-on-click-modal="false" :title="$t('member.modify')" :visible.sync="dialogWsMemberUpdateVisible"
@ -224,6 +188,7 @@ import {
} from "@/common/js/utils"; } from "@/common/js/utils";
import {GROUP_WORKSPACE} from "@/common/js/constants"; import {GROUP_WORKSPACE} from "@/common/js/constants";
import MsDeleteConfirm from "../../common/components/MsDeleteConfirm"; import MsDeleteConfirm from "../../common/components/MsDeleteConfirm";
import AddMember from "@/business/components/settings/common/AddMember";
export default { export default {
name: "MsSystemWorkspace", name: "MsSystemWorkspace",
@ -235,7 +200,8 @@ export default {
MsRolesTag, MsRolesTag,
MsTableOperator, MsTableOperator,
MsDialogFooter, MsDialogFooter,
MsTableOperatorButton MsTableOperatorButton,
AddMember
}, },
activated() { activated() {
this.list(); this.list();
@ -281,15 +247,7 @@ export default {
}); });
}, },
addMember() { addMember() {
this.dialogWsMemberAddVisible = true; this.$refs.addMember.open();
this.result = this.$get('/user/list/', response => {
this.$set(this.memberForm, "userList", response.data);
this.$set(this.memberForm, "copyUserList", response.data);
});
this.result = this.$post('/user/group/list', {type: GROUP_WORKSPACE, resourceId: this.orgId}, response => {
this.$set(this.memberForm, "groups", response.data);
});
listenGoBack(this.handleClose); listenGoBack(this.handleClose);
}, },
cellClick(row) { cellClick(row) {
@ -395,21 +353,11 @@ export default {
this.total = data.itemCount; this.total = data.itemCount;
}); });
}, },
submitForm(formName) { submitForm(param) {
this.$refs[formName].validate((valid) => { param['workspaceId'] = this.currentWorkspaceRow.id;
if (valid) { this.$post("user/special/ws/member/add", param, () => {
let param = { this.cellClick(this.currentWorkspaceRow);
userIds: this.memberForm.userIds, this.$refs.addMember.close();
groupIds: this.memberForm.groupIds,
workspaceId: this.currentWorkspaceRow.id
};
this.result = this.$post("user/special/ws/member/add", param, () => {
this.cellClick(this.currentWorkspaceRow);
this.dialogWsMemberAddVisible = false;
});
} else {
return false;
}
}); });
}, },
editMember(row) { editMember(row) {