update code

dev_xd
lijun 2024-10-01 23:55:58 +08:00
parent 2667592b63
commit 7f0d164d4c
2 changed files with 168 additions and 162 deletions

View File

@ -78,7 +78,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptName != null and subDeptName != ''"> and psu.sub_dept_name like concat('%', #{subDeptName}, '%')</if>
<if test="userId != null "> and psu.user_id = #{userId}</if>
<if test="userName != null and userName != ''"> and psu.user_name like concat('%', #{userName}, '%')</if>
<if test="userPhone != null and userPhone != ''"> and psu.user_phone like concat('%', #{userPhone}, '%')</if>
<if test="craftType != null and craftType != ''"> and psu.craft_type = #{craftType}</if>
<if test="subDeptGroup != null and subDeptGroup != ''"> and psu.sub_dept_group = #{subDeptGroup}</if>
<if test="craftPost != null and craftPost != ''"> and psu.craft_post = #{craftPost}</if>
<if test="eduStatus != null and eduStatus != ''"> and psu.edu_status = #{eduStatus}</if>
<if test="approveStatus != null "> and psu.approve_status = #{approveStatus}</if>

View File

@ -1,20 +1,22 @@
<template>
<div class="app-container pro-project-info-subdepts-users-index">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="项目主键" prop="projectId">
<el-input v-model="queryParams.projectId" placeholder="请输入项目主键" clearable @keyup.enter="handleQuery" />
<el-form-item label="所属单位" prop="subDeptId">
<el-select v-model="queryParams.subDeptId" placeholder="请选择所属单位" @change="doSubDeptChange('query')" clearable>
<el-option v-for="(it, idx) in data.subdepts" :key="it.id" :label="it.subDeptName" :value="it.id" />
</el-select>
</el-form-item>
<el-form-item label="分包单位" prop="subDeptId">
<el-input v-model="queryParams.subDeptId" placeholder="请输入分包单位" clearable @keyup.enter="handleQuery" />
<el-form-item label="班组" prop="subDeptName">
<el-select v-model="queryParams.subDeptGroup" placeholder="请选择班组" @change="doDeptGroupChange" clearable>
<el-option v-for="(it, idx) in data.queryDeptGroups" :key="idx" :label="it.groupName" :value="it.id" />
</el-select>
</el-form-item>
<el-form-item label="分包单位名称" prop="subDeptName">
<el-input v-model="queryParams.subDeptName" placeholder="请输入分包单位名称" clearable @keyup.enter="handleQuery" />
<el-form-item label="姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入姓名" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="用户主键" prop="userId">
<el-input v-model="queryParams.userId" placeholder="请输入用户主键" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="工人姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入工人姓名" clearable @keyup.enter="handleQuery" />
<el-form-item label="联系电话" prop="userId">
<el-input v-model="queryParams.userPhone" placeholder="请输入联系电话" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="工种类型" prop="craftType">
<el-select v-model="queryParams.craftType" placeholder="请选择工种类型" clearable>
@ -23,32 +25,10 @@
</el-form-item>
<el-form-item label="工种岗位" prop="craftPost">
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
<el-option v-for="dict in pro_craft_post" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="学习文件地址" prop="eduFilePath">
<el-input v-model="queryParams.eduFilePath" placeholder="请输入学习文件地址" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="学习签名地址" prop="eduSignPath">
<el-input v-model="queryParams.eduSignPath" placeholder="请输入学习签名地址" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="学习时间" prop="eduDate">
<el-date-picker clearable v-model="queryParams.eduDate" type="date" value-format="YYYY-MM-DD"
placeholder="请选择学习时间">
</el-date-picker>
</el-form-item>
<el-form-item label="进场状态" prop="useStatus">
<el-select v-model="queryParams.useStatus" placeholder="请选择进场状态" clearable>
<el-option v-for="dict in sys_use_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="进行步骤" prop="subStep">
<el-input v-model="queryParams.subStep" placeholder="请输入进行步骤" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="删除标识" prop="isDel">
<el-select v-model="queryParams.isDel" placeholder="请选择删除标识" clearable>
<el-option v-for="dict in sys_is_del" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-option v-for="dict in (queryParams.craftType?pro_craft_post.filter(d=>d.remark==queryParams.craftType):[])" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
@ -147,7 +127,7 @@
<el-col :span="12">
<el-form-item label="班组名称" prop="subDeptGroup">
<el-select v-model="form.subDeptGroup" @change="doDeptGroupChange">
<el-select v-model="form.subDeptGroup" placeholder="请选择班组" @change="doDeptGroupChange">
<el-option v-for="(it, idx) in data.deptGroups" :key="idx" :label="it.groupName" :value="it.id" />
</el-select>
</el-form-item>
@ -162,7 +142,8 @@
<el-col :span="12">
<el-form-item label="工种" v-if="data.isManager" prop="craftPost">
<el-select v-model="form.craftPost">
<el-option v-for="dict in pro_craft_post.filter(d=>d.remark=='3')" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-option v-for="dict in pro_craft_post.filter(d => d.remark == '3')" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="工种" v-else>
@ -218,11 +199,13 @@
<el-form-item label="身份证信息" prop="identificationCard">
<el-col :span="8">
<div class="div-header">头像面</div>
<image-upload v-model="form.certificatePhoto1" :limit="1" class="identification-card-1" @change="doImageUpload"/>
<image-upload v-model="form.certificatePhoto1" :limit="1" class="identification-card-1"
@change="doImageUpload" />
</el-col>
<el-col :span="8">
<div class="div-header">国徽面</div>
<image-upload v-model="form.certificatePhoto2" :limit="1" class="identification-card-2" @change="doImageUpload"/>
<image-upload v-model="form.certificatePhoto2" :limit="1" class="identification-card-2"
@change="doImageUpload" />
</el-col>
<el-col :span="8">
<div class="div-header">人脸识别头像</div>
@ -299,6 +282,7 @@ const data = reactive({
},
subdepts: [],
deptGroups: [],
queryDeptGroups: [],
certificateTypeOpts: "身份证".split(","),
nationOpts: '汉族,壮族,满族,回族,苗族,维吾尔族,土家族,彝族,蒙古族,藏族,布依族,侗族,瑶族,朝鲜族,白族,哈尼族,哈萨克族,黎族,傣族,畲族,傈僳族,仡佬族,东乡族,高山族,拉祜族,水族,佤族,纳西族,羌族,土族,仫佬族,锡伯族,柯尔克孜族,达斡尔族,景颇族,毛南族,撒拉族,布朗族,塔吉克族,阿昌族,普米族,鄂温克族,怒族,京族,基诺族,德昂族,保安族,俄罗斯族,裕固族,乌孜别克族,门巴族,鄂伦春族,独龙族,塔塔尔族,赫哲族,珞巴族'.split(","),
sexOpts: "男,女".split(","),
@ -363,7 +347,13 @@ function reset() {
proxy.resetForm("proProjectInfoSubdeptsUsersRef");
}
//
function doSubDeptChange() {
function doSubDeptChange(type) {
if(type=="query"){
if(!queryParams.value.subDeptId){
data.queryDeptGroups=[];
return;
}
}else{
if ( !form.value.subDeptId) {
data.deptGroups = [];
form.value.subDeptId = "";
@ -374,7 +364,11 @@ function doSubDeptChange() {
form.value.craftPost = "";
return;
}
listProProjectInfoSubdeptsGroup({subDeptId:form.value.subDeptId,pageNum:1,pageSize:100}).then(d=>{
}
listProProjectInfoSubdeptsGroup({ subDeptId:type=="query"?queryParams.value.subDeptId: form.value.subDeptId, pageNum: 1, pageSize: 100 }).then(d => {
if (type == "query") {
data.queryDeptGroups = d.rows || [];
} else {
data.deptGroups = d.rows || [];
if (data.deptGroups.length > 0) {
let dg = data.deptGroups[0];
@ -387,6 +381,7 @@ function doSubDeptChange() {
data.isManager = !dg.craftPost
}
}
});
}
@ -459,7 +454,7 @@ function handleAdd() {
return false;
}
reset();
loadSubDepts();
form.value.certificateType = "";
form.value.projectId = userStore.currentProId;
form.value.projectName = userStore.currentProName;
@ -472,7 +467,6 @@ function handleAdd() {
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
loadSubDepts(()=>{
const _id = row.id || ids.value
getProProjectInfoSubdeptsUsers(_id).then(response => {
form.value = JSON.parse(JSON.stringify(response.data));
@ -484,7 +478,6 @@ function handleUpdate(row) {
form.value.craftPost = response.data.craftPost;
}, 400);
});
});
}
/** 提交按钮 */
@ -532,6 +525,7 @@ function handleExport() {
}
getList();
loadSubDepts();
</script>
<style lang="scss">
.pro-project-info-subdepts-users-index {
@ -539,9 +533,11 @@ getList();
.el-drawer__header {
margin-bottom: 0px;
}
.el-form-item--default {
margin-bottom: 16px;
}
.fi-certificate {
.el-select {
width: 120px;
@ -558,6 +554,7 @@ getList();
}
}
}
.identification-card-1 {
.el-upload--picture-card {
width: 240px;
@ -565,13 +562,16 @@ getList();
background-repeat: no-repeat;
background-position: center;
}
.el-upload__tip {
display: none;
}
}
.div-header {
text-align: center;
}
.identification-card-2 {
.el-upload--picture-card {
width: 240px;
@ -580,20 +580,24 @@ getList();
background-position: center;
background-size: 60%;
}
.el-upload__tip {
display: none;
}
}
.face-image {
&>div {
text-align: center;
}
.el-upload--picture-card {
background-image: url("../../../assets/images/face.svg");
background-repeat: no-repeat;
background-position: center;
background-size: 60%;
}
.el-upload__tip {
display: none;
}