修改用户管理和花名册列表增加人员岗位显示

dev_xd
haha 2025-02-09 22:32:13 +08:00
parent 049a04bcc7
commit 42f0beb605
2 changed files with 190 additions and 146 deletions

View File

@ -96,12 +96,18 @@
<el-table-column label="三级安全教育" align="center" class-name="small-padding fixed-width" width="100"> <el-table-column label="三级安全教育" align="center" class-name="small-padding fixed-width" width="100">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.subDeptType == '4' || scope.row.subDeptType == '5'"> <div v-if="scope.row.subDeptType == '4' || scope.row.subDeptType == '5'">
<el-button v-if="scope.row.eduStatus=='0'" link type="primary" icon="Link" @click="handleDownloadFile(scope.row)"></el-button> <el-button v-if="scope.row.eduStatus == '0'" link type="primary" icon="Link"
@click="handleDownloadFile(scope.row)">查看</el-button>
<el-button v-if="scope.row.eduStatus != '0'" link type="warning" disabled>未完成</el-button> <el-button v-if="scope.row.eduStatus != '0'" link type="warning" disabled>未完成</el-button>
</div> </div>
<el-button v-if="scope.row.subDeptType != '4' && scope.row.subDeptType != '5'" link disabled> - </el-button> <el-button v-if="scope.row.subDeptType != '4' && scope.row.subDeptType != '5'" link disabled> - </el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="人员岗位" align="center" prop="craftPost">
<template #default="scope">
{{ getWorkType(scope.row.workType) }}
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="useStatus"> <el-table-column label="状态" align="center" prop="useStatus">
<template #default="scope"> <template #default="scope">
<span v-if="scope.row.useStatus == 0" style="color: green;"></span> <span v-if="scope.row.useStatus == 0" style="color: green;"></span>
@ -199,7 +205,8 @@
<el-option v-for="item in data.prjWorkCategories" :key="item" :label="item" <el-option v-for="item in data.prjWorkCategories" :key="item" :label="item"
:value="item"></el-option> :value="item"></el-option>
</el-select> </el-select>
<el-select v-model="form.workType" placeholder="请选择用户岗位" style="width:calc(60% - 12px);margin-left:10px;"> <el-select v-model="form.workType" placeholder="请选择用户岗位"
style="width:calc(60% - 12px);margin-left:10px;">
<el-option v-for="item in data.prjWorkTypes" :key="item.value" :label="item.label" <el-option v-for="item in data.prjWorkTypes" :key="item.value" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
@ -224,8 +231,8 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工种" v-if="data.isManager" prop="craftPost"> <el-form-item label="工种" v-if="data.isManager" prop="craftPost">
<el-select v-model="form.craftPost"> <el-select v-model="form.craftPost">
<el-option v-for="dict in data.craftPostList" :key="dict.value" <el-option v-for="dict in data.craftPostList" :key="dict.value" :label="dict.label"
:label="dict.label" :value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="工种" v-else> <el-form-item label="工种" v-else>
@ -240,7 +247,8 @@
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"><el-form-item label="性别"> <el-col :span="12"><el-form-item label="性别">
<el-radio-group v-model="form.sex"> <el-radio-group v-model="form.sex">
<el-radio v-for="(dict, idx) in sys_user_sex" :key="idx" :label="dict.label" :value="dict.value">{{ dict.label }}</el-radio> <el-radio v-for="(dict, idx) in sys_user_sex" :key="idx" :label="dict.label" :value="dict.value">{{
dict.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item></el-col> </el-form-item></el-col>
<el-col :span="12"><el-form-item label="文件程度"> <el-col :span="12"><el-form-item label="文件程度">
@ -539,6 +547,8 @@ function reset() {
bankName: '',// bankName: '',//
bankCardNo: '',// bankCardNo: '',//
bankOffice: '',// bankOffice: '',//
userWorkType: '',//
workType: '',//
}; };
proxy.resetForm("proProjectInfoSubdeptsUsersRef"); proxy.resetForm("proProjectInfoSubdeptsUsersRef");
data.phoneState = ""; data.phoneState = "";
@ -715,6 +725,12 @@ function handleUpdate(row) {
form.value.userId = obj.userId; form.value.userId = obj.userId;
form.value.projectId = row.projectId; form.value.projectId = row.projectId;
form.value.projectName = row.projectName; form.value.projectName = row.projectName;
form.value.workType = form.value.workType ? "" + form.value.workType : "";
let tmps = user_work_type.value.filter(d => d.value == form.value.workType);
if (tmps.length > 0) {
form.value.userWorkType = tmps[0].remark;
data.prjWorkTypes = data.prjWorkTypeObj[form.value.userWorkType];
}
//showEditUser(obj.user); //showEditUser(obj.user);
data.phoneState = "edit"; data.phoneState = "edit";
@ -733,6 +749,15 @@ function handleUpdate(row) {
}); });
} }
function getWorkType(wt) {
if (wt) {
let tmps = user_work_type.value.filter(d => d.value == wt);
if (tmps.length > 0) {
return tmps[0].remark + " - " + tmps[0].label;
}
}
return "";
}
function showEditUser(user) { function showEditUser(user) {
user = user || {}; user = user || {};
let info = tryToJson(user?.userInfos || "{}") let info = tryToJson(user?.userInfos || "{}")
@ -804,6 +829,7 @@ function submitForm() {
userInfos: JSON.stringify(info), userInfos: JSON.stringify(info),
craftType: form.value.craftType, craftType: form.value.craftType,
craftPost: form.value.craftPost, craftPost: form.value.craftPost,
workType: form.value.workType,
}; };
if (form.value.id != null) { if (form.value.id != null) {

View File

@ -80,6 +80,11 @@
</el-table-column> </el-table-column>
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber"
v-if="columns[5].visible" width="120" /> v-if="columns[5].visible" width="120" />
<el-table-column label="人员岗位" align="center" prop="craftPost">
<template #default="scope">
{{ getWorkType(scope.row.workType) }}
</template>
</el-table-column>
<el-table-column label="用户状态" align="center" key="status" v-if="columns[6].visible"> <el-table-column label="用户状态" align="center" key="status" v-if="columns[6].visible">
<template #default="scope"> <template #default="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" <el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
@ -132,8 +137,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户姓名" prop="nickName"> <el-form-item label="用户姓名" prop="nickName">
<el-input v-model="form.nickName" placeholder="请输入用户名称" maxlength="30" <el-input v-model="form.nickName" placeholder="请输入用户名称" maxlength="30" style="width: 150px;" />
style="width: 150px;" />
<!-- <!--
<el-button v-if="data.mode == 'add' && !data.editUser" type="primary" style="margin-left: 10px;" <el-button v-if="data.mode == 'add' && !data.editUser" type="primary" style="margin-left: 10px;"
@click="doQueryUserByName">查询</el-button> @click="doQueryUserByName">查询</el-button>
@ -163,7 +167,8 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="登录密码" prop="password"> <el-form-item label="登录密码" prop="password">
<el-input v-model="form.password" placeholder="请输入登录密码" type="password" maxlength="20" <el-input v-model="form.password" placeholder="请输入登录密码" type="password" maxlength="20"
:disabled="form.userId" :show-password="!form.userId" autocomplete="new-password" disableautocomplete /> :disabled="form.userId" :show-password="!form.userId" autocomplete="new-password"
disableautocomplete />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -184,16 +189,19 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户岗位" prop="workType"> <el-form-item label="用户岗位" prop="workType">
<el-select v-model="form.workType" v-if="form.userType=='00'" placeholder="请选择用户岗位" style="width:100%"> <el-select v-model="form.workType" v-if="form.userType == '00'" placeholder="请选择用户岗位"
style="width:100%">
<el-option v-for="item in data.sysWorkTypes" :key="item.value" :label="item.label" <el-option v-for="item in data.sysWorkTypes" :key="item.value" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
<el-select v-model="form.userWorkType" v-if="form.userType!='00'" style="width:40%" @change="doWorkTypeChange"> <el-select v-model="form.userWorkType" v-if="form.userType != '00'" style="width:40%"
@change="doWorkTypeChange">
<el-option v-for="item in data.prjWorkCategories" :key="item" :label="item" <el-option v-for="item in data.prjWorkCategories" :key="item" :label="item"
:value="item"></el-option> :value="item"></el-option>
</el-select> </el-select>
<el-select v-model="form.workType" v-if="form.userType!='00'" placeholder="请选择用户岗位" style="width:calc(60% - 12px);margin-left:10px;"> <el-select v-model="form.workType" v-if="form.userType != '00'" placeholder="请选择用户岗位"
style="width:calc(60% - 12px);margin-left:10px;">
<el-option v-for="item in data.prjWorkTypes" :key="item.value" :label="item.label" <el-option v-for="item in data.prjWorkTypes" :key="item.value" :label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
@ -666,6 +674,16 @@ function handleUpdate(row) {
handleChangeDept(row.deptId); handleChangeDept(row.deptId);
}; };
function getWorkType(wt) {
if (wt) {
let tmps = user_work_type.value.filter(d => d.value == wt);
if (tmps.length > 0) {
return tmps[0].remark ? tmps[0].remark + " - " + tmps[0].label : tmps[0].label;
}
}
return "";
}
/** 根据单位选择角色 */ /** 根据单位选择角色 */
function handleChangeDept(value) { function handleChangeDept(value) {
form.value.roleIds = []; form.value.roleIds = [];