✨ feat: 添加离职申请的用户绑定,修改用户档案
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
<el-row :gutter="18">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="离职人员" required>
|
||||
<el-select v-model="form.userId" filterable placeholder="请选择">
|
||||
<el-select v-model="form.userId" filterable placeholder="请选择" :disabled="!canChangeUser">
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.userId"
|
||||
@@ -63,6 +63,7 @@
|
||||
import { addOffboarding } from "@/api/oa/offboarding";
|
||||
import { listUser } from "@/api/system/user";
|
||||
import { uploadFile, addFile } from '@/api/oa/document'
|
||||
import { getUserProfile } from "@/api/system/user";
|
||||
|
||||
export default {
|
||||
name: "Offboarding",
|
||||
@@ -77,6 +78,7 @@
|
||||
},
|
||||
created() {
|
||||
this.getUserList();
|
||||
this.getUserInfo();
|
||||
},
|
||||
methods: {
|
||||
// 获取用户列表
|
||||
@@ -85,6 +87,22 @@
|
||||
this.userList = res.rows;
|
||||
})
|
||||
},
|
||||
|
||||
canChangeUser() {
|
||||
const dir = this.user.roles.map(item => {
|
||||
return item.roleKey
|
||||
})
|
||||
return dir.includes("admin")
|
||||
},
|
||||
|
||||
// 获取用户信息
|
||||
getUserInfo() {
|
||||
getUserProfile().then(res => {
|
||||
this.user = res.data.user;
|
||||
this.form.userId = this.user.userId;
|
||||
console.log(this.user);
|
||||
})
|
||||
},
|
||||
|
||||
// 文件状态改变时的处理
|
||||
handleFileChange(file, fileList) {
|
||||
|
||||
@@ -12,27 +12,39 @@
|
||||
</div>
|
||||
<ul class="list-group list-group-striped">
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="user" />用户名称
|
||||
<span>
|
||||
<svg-icon icon-class="user" />用户名称
|
||||
</span>
|
||||
<div class="pull-right">{{ user.userName }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="phone" />手机号码
|
||||
<span>
|
||||
<svg-icon icon-class="phone" />手机号码
|
||||
</span>
|
||||
<div class="pull-right">{{ user.phonenumber }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="email" />用户邮箱
|
||||
<span>
|
||||
<svg-icon icon-class="email" />用户邮箱
|
||||
</span>
|
||||
<div class="pull-right">{{ user.email }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="tree" />所属部门
|
||||
<span>
|
||||
<svg-icon icon-class="tree" />所属部门
|
||||
</span>
|
||||
<div class="pull-right" v-if="user.dept">{{ user.dept.deptName }} / {{ postGroup }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="peoples" />所属角色
|
||||
<span>
|
||||
<svg-icon icon-class="peoples" />所属角色
|
||||
</span>
|
||||
<div class="pull-right">{{ roleGroup }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<svg-icon icon-class="date" />创建日期
|
||||
<span>
|
||||
<svg-icon icon-class="date" />创建日期
|
||||
</span>
|
||||
<div class="pull-right">{{ user.createTime }}</div>
|
||||
</li>
|
||||
<li class="list-group-item" v-if="onBoardingInfo.status == '0'">
|
||||
@@ -42,7 +54,9 @@
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item" v-else>
|
||||
<svg-icon icon-class="date" />转正日期
|
||||
<span>
|
||||
<svg-icon icon-class="date" />转正日期
|
||||
</span>
|
||||
<div class="pull-right">{{ onBoardingInfo.joiningDate }}</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
@@ -51,10 +65,10 @@
|
||||
<el-button type="danger" @click="toApplyQuit">申请离职</el-button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<li class="list-group-item" v-if="hasDocument">
|
||||
个人档案
|
||||
<div class="pull-right">
|
||||
<el-button type="text" @click="openFileDrawer">查看档案</el-button>
|
||||
<el-button type="danger" @click="openFileDrawer">查看档案</el-button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -78,15 +92,15 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-drawer :title="`${user.nickName} - 文件管理`"
|
||||
:visible.sync="fileDrawerVisible"
|
||||
<el-drawer title="文件管理"
|
||||
:visible.sync="showFile"
|
||||
size="800px"
|
||||
direction="rtl"
|
||||
append-to-body>
|
||||
<user-file-manager
|
||||
<UserFileManager
|
||||
:user-id="user.userId"
|
||||
:read-only="true"
|
||||
v-if="fileDrawerVisible" />
|
||||
v-if="showFile" />
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
@@ -108,15 +122,14 @@ export default {
|
||||
roleGroup: {},
|
||||
postGroup: {},
|
||||
activeTab: "userinfo",
|
||||
fileDrawerVisible: false,
|
||||
onBoardingInfo: {}
|
||||
showFile: false,
|
||||
onBoardingInfo: {},
|
||||
hasDocument: false,
|
||||
};
|
||||
},
|
||||
|
||||
created() {
|
||||
this.getUser();
|
||||
// 获取用户入职信息
|
||||
|
||||
},
|
||||
methods: {
|
||||
getUser() {
|
||||
@@ -126,14 +139,26 @@ export default {
|
||||
this.roleGroup = response.data.roleGroup;
|
||||
this.postGroup = response.data.postGroup;
|
||||
this.getOnBoardInfo();
|
||||
this.checkHasDocument();
|
||||
});
|
||||
},
|
||||
async getOnBoardInfo() {
|
||||
const { data } = await getOnboarding(this.user.userId);
|
||||
this.onBoardingInfo = data;
|
||||
},
|
||||
|
||||
async checkHasDocument() {
|
||||
const dir = this.user.roles.map(item => {
|
||||
return item.roleKey
|
||||
})
|
||||
|
||||
this.hasDocument = !dir.includes("admin")
|
||||
},
|
||||
|
||||
openFileDrawer() {
|
||||
this.fileDrawerVisible = true;
|
||||
console.log("打开文件抽屉");
|
||||
this.showFile = true;
|
||||
console.log(this.showFile);
|
||||
},
|
||||
// 跳转到申请转正页面
|
||||
toApplyProbation() {
|
||||
@@ -148,3 +173,11 @@ export default {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.list-group-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user