Compare commits
4 Commits
44d498c2dc
...
53193f94bb
Author | SHA1 | Date |
---|---|---|
|
53193f94bb | |
|
f4ecf0425f | |
|
55b1ed0d1e | |
|
42f0beb605 |
|
@ -80,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
from sys_user u
|
from sys_user u
|
||||||
left join sys_dept d on u.dept_id = d.dept_id
|
left join sys_dept d on u.dept_id = d.dept_id
|
||||||
left join sys_user_ext ex on u.user_id=ex.user_id
|
left join sys_user_ext ex on u.user_id=ex.user_id
|
||||||
where u.del_flag = '0' and u.user_type= '00'
|
where u.del_flag = '0'
|
||||||
<if test="userId != null and userId != 0">
|
<if test="userId != null and userId != 0">
|
||||||
AND u.user_id = #{userId}
|
AND u.user_id = #{userId}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
@ -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>
|
||||||
|
@ -132,7 +138,7 @@
|
||||||
<template #header>
|
<template #header>
|
||||||
<div style="position: relative;">{{ title }}</div>
|
<div style="position: relative;">{{ title }}</div>
|
||||||
</template>
|
</template>
|
||||||
<el-form ref="proProjectInfoSubdeptsUsersRef" :model="form" :rules="rules" label-width="120px"
|
<el-form v-loading="loading" ref="proProjectInfoSubdeptsUsersRef" :model="form" :rules="rules" label-width="120px"
|
||||||
style="position: relative;">
|
style="position: relative;">
|
||||||
|
|
||||||
<el-row v-if="data.phoneState || true">
|
<el-row v-if="data.phoneState || true">
|
||||||
|
@ -193,13 +199,14 @@
|
||||||
<span style="margin-left:10px;color:#999;">此电话号码将用作登录</span>
|
<span style="margin-left:10px;color:#999;">此电话号码将用作登录</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12" v-if="form.userPost==66">
|
||||||
<el-form-item label="用户岗位" prop="workType">
|
<el-form-item label="用户岗位" prop="workType">
|
||||||
<el-select v-model="form.userWorkType" style="width:40%" @change="doWorkTypeChange">
|
<el-select v-model="form.userWorkType" 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" 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="文件程度">
|
||||||
|
@ -278,7 +286,7 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer" v-loading="loading">
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
<el-button @click="cancel">取 消</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -348,7 +356,6 @@ const data = reactive({
|
||||||
rules: {
|
rules: {
|
||||||
subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
|
subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
|
||||||
userName: [{ required: true, trigger: ['blur', 'change'], message: "请输入姓名" }],
|
userName: [{ required: true, trigger: ['blur', 'change'], message: "请输入姓名" }],
|
||||||
workType: [{ required: true, trigger: ['blur', 'change'], message: "请选择用户岗位" }],
|
|
||||||
userPhone: [
|
userPhone: [
|
||||||
{ required: true, trigger: ['blur', 'change'], message: "请输入手机号码" },
|
{ required: true, trigger: ['blur', 'change'], message: "请输入手机号码" },
|
||||||
{ min: 11, max: 11, message: '请输入有效手机号码', trigger: 'blur' },
|
{ min: 11, max: 11, message: '请输入有效手机号码', trigger: 'blur' },
|
||||||
|
@ -539,6 +546,8 @@ function reset() {
|
||||||
bankName: '',//工资卡银行
|
bankName: '',//工资卡银行
|
||||||
bankCardNo: '',//工资卡号
|
bankCardNo: '',//工资卡号
|
||||||
bankOffice: '',//开户网点
|
bankOffice: '',//开户网点
|
||||||
|
userWorkType: '',//岗位大类
|
||||||
|
workType: '',//岗位大类
|
||||||
};
|
};
|
||||||
proxy.resetForm("proProjectInfoSubdeptsUsersRef");
|
proxy.resetForm("proProjectInfoSubdeptsUsersRef");
|
||||||
data.phoneState = "";
|
data.phoneState = "";
|
||||||
|
@ -671,6 +680,7 @@ function handleAdd() {
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = "添加劳务人员信息";
|
title.value = "添加劳务人员信息";
|
||||||
reset();
|
reset();
|
||||||
|
loading.value=true;
|
||||||
loadSubDepts(() => {
|
loadSubDepts(() => {
|
||||||
data.editData = null;
|
data.editData = null;
|
||||||
data.mode = 'add';
|
data.mode = 'add';
|
||||||
|
@ -680,6 +690,7 @@ function handleAdd() {
|
||||||
form.value.projectName = userStore.currentProName;
|
form.value.projectName = userStore.currentProName;
|
||||||
form.value.nation = data.nationOpts[0];
|
form.value.nation = data.nationOpts[0];
|
||||||
form.value.sex = "0";
|
form.value.sex = "0";
|
||||||
|
loading.value=false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -691,6 +702,7 @@ function handleUpdate(row) {
|
||||||
data.editData = row;
|
data.editData = row;
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = "修改劳务人员信息";
|
title.value = "修改劳务人员信息";
|
||||||
|
loading.value=true;
|
||||||
loadSubDepts(() => {
|
loadSubDepts(() => {
|
||||||
getProProjectInfoSubdeptsUsers(_id).then(response => {
|
getProProjectInfoSubdeptsUsers(_id).then(response => {
|
||||||
let obj = JSON.parse(JSON.stringify(response.data));
|
let obj = JSON.parse(JSON.stringify(response.data));
|
||||||
|
@ -711,13 +723,20 @@ function handleUpdate(row) {
|
||||||
obj.certificatePhoto2 = obj.info.certificatePhoto2;
|
obj.certificatePhoto2 = obj.info.certificatePhoto2;
|
||||||
obj.faceImage = obj.userPicture;
|
obj.faceImage = obj.userPicture;
|
||||||
obj.educationalType = obj.degreeGrade
|
obj.educationalType = obj.degreeGrade
|
||||||
|
obj.userPost=obj.userPost;
|
||||||
form.value = obj;
|
form.value = obj;
|
||||||
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";
|
||||||
|
loading.value=false;
|
||||||
doImageUpload();
|
doImageUpload();
|
||||||
|
|
||||||
//doDeptGroupChange();
|
//doDeptGroupChange();
|
||||||
|
@ -725,7 +744,6 @@ function handleUpdate(row) {
|
||||||
doSubDeptChange();
|
doSubDeptChange();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
form.value.craftPost = response.data.craftPost;
|
form.value.craftPost = response.data.craftPost;
|
||||||
console.log("++++++>",form.value.craftPost)
|
|
||||||
}, 400)
|
}, 400)
|
||||||
|
|
||||||
}, 400);
|
}, 400);
|
||||||
|
@ -733,6 +751,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 +831,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) {
|
||||||
|
|
|
@ -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 = [];
|
||||||
|
|
Loading…
Reference in New Issue