Compare commits
2 Commits
815e830e30
...
94a0c70313
Author | SHA1 | Date |
---|---|---|
|
94a0c70313 | |
|
b44bfe838c |
|
@ -159,7 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateUseStatusByParams" parameterType="Long">
|
<update id="updateUseStatusByParams" parameterType="Long">
|
||||||
update pro_project_info_subdepts_group set use_status = 2 where id sub_dept_id = #{subDeptId}
|
update pro_project_info_subdepts_group set use_status = 2 where sub_dept_id = #{subDeptId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -96,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="userPhone != null and userPhone != ''"> and psu.user_phone = #{userPhone}</if>
|
<if test="userPhone != null and userPhone != ''"> and psu.user_phone = #{userPhone}</if>
|
||||||
<if test='activeTags == "finished"'> and psu.approve_status <![CDATA[ >= ]]> 100 </if>
|
<if test='activeTags == "finished"'> and psu.approve_status <![CDATA[ >= ]]> 100 </if>
|
||||||
<if test="isDel != null "> and psu.is_del = #{isDel}</if>
|
<if test="isDel != null "> and psu.is_del = #{isDel}</if>
|
||||||
|
<if test="params.beginTime != null and params.beginTime != '' and params.endTime != null and params.endTime != ''"> and date(psu.use_date) between #{params.beginTime} and #{params.endTime}</if>
|
||||||
and psu.is_del != 2
|
and psu.is_del != 2
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -101,7 +101,15 @@ public class SecurityUtils
|
||||||
*/
|
*/
|
||||||
public static boolean isGSAdmin()
|
public static boolean isGSAdmin()
|
||||||
{
|
{
|
||||||
return Objects.nonNull(getLoginUser().getRoles()) && getLoginUser().getRoles().contains("gsAdmin");
|
Set<String> roles = getLoginUser().getRoles();
|
||||||
|
if(Objects.nonNull(roles)){
|
||||||
|
for(String role:roles){
|
||||||
|
if(role.startsWith("gsAdmin")){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -37,12 +37,12 @@ public class FileUploadUtils
|
||||||
/**
|
/**
|
||||||
* 默认大小 50M
|
* 默认大小 50M
|
||||||
*/
|
*/
|
||||||
public static final long DEFAULT_MAX_SIZE = 500 * 1024 * 1024;
|
public static final long DEFAULT_MAX_SIZE = 5000 * 1024 * 1024;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认的文件名最大长度 100
|
* 默认的文件名最大长度 100
|
||||||
*/
|
*/
|
||||||
public static final int DEFAULT_FILE_NAME_LENGTH = 100;
|
public static final int DEFAULT_FILE_NAME_LENGTH = 800;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据文件路径上传
|
* 根据文件路径上传
|
||||||
|
|
|
@ -9,6 +9,7 @@ import com.yanzhu.manage.enums.SubDeptsEnums;
|
||||||
import com.yanzhu.manage.enums.UserPostEnums;
|
import com.yanzhu.manage.enums.UserPostEnums;
|
||||||
import com.yanzhu.manage.service.*;
|
import com.yanzhu.manage.service.*;
|
||||||
import com.yanzhu.security.utils.DictUtils;
|
import com.yanzhu.security.utils.DictUtils;
|
||||||
|
import com.yanzhu.system.api.domain.SysUser;
|
||||||
import com.yanzhu.system.api.model.LoginUser;
|
import com.yanzhu.system.api.model.LoginUser;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
@ -106,7 +107,7 @@ public class WxController extends BaseController {
|
||||||
public AjaxResult findProSubDeptsUserInfo(@PathVariable("proId") Long proId)
|
public AjaxResult findProSubDeptsUserInfo(@PathVariable("proId") Long proId)
|
||||||
{
|
{
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
if(SecurityUtils.isGSAdmin()){
|
if(SysUser.isAdmin(loginUser.getUserid()) ||SecurityUtils.isGSAdmin()){
|
||||||
ProProjectInfo projectInfo = proProjectInfoService.selectProProjectInfoById(proId);
|
ProProjectInfo projectInfo = proProjectInfoService.selectProProjectInfoById(proId);
|
||||||
ProProjectInfoSubdeptsUsers adminUser = new ProProjectInfoSubdeptsUsers();
|
ProProjectInfoSubdeptsUsers adminUser = new ProProjectInfoSubdeptsUsers();
|
||||||
adminUser.setId(0L);
|
adminUser.setId(0L);
|
||||||
|
|
|
@ -102,6 +102,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
@Override
|
@Override
|
||||||
public List<ProProjectInfoSubdeptsUsers> selectProProjectInfoSubdeptsUsersList(ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers)
|
public List<ProProjectInfoSubdeptsUsers> selectProProjectInfoSubdeptsUsersList(ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers)
|
||||||
{
|
{
|
||||||
|
if(Objects.nonNull(proProjectInfoSubdeptsUsers.getUseStatus()) && Objects.equals(proProjectInfoSubdeptsUsers.getUseStatus(),"-1")){
|
||||||
|
proProjectInfoSubdeptsUsers.setUseStatus(null);
|
||||||
|
}
|
||||||
return proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(proProjectInfoSubdeptsUsers);
|
return proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(proProjectInfoSubdeptsUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -901,7 +904,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.WTDL.getCode())){
|
if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.WTDL.getCode())){
|
||||||
ProProjectInfoSubdepts proProjectInfoSubdepts = proProjectInfoSubdeptsMapper.selectProProjectInfoSubdeptsById(proProjectInfoSubdeptsUsers.getSubDeptId());
|
ProProjectInfoSubdepts proProjectInfoSubdepts = proProjectInfoSubdeptsMapper.selectProProjectInfoSubdeptsById(proProjectInfoSubdeptsUsers.getSubDeptId());
|
||||||
proProjectInfoSubdepts.setApproveStatus(ApproveStatus.exempt.getCode());
|
proProjectInfoSubdepts.setApproveStatus(ApproveStatus.exempt.getCode());
|
||||||
if(Objects.nonNull(proProjectInfoSubdepts.getUseStatus()) && Objects.equals(proProjectInfoSubdepts.getUseStatus(),UseStateEnums.AW.getCode())){
|
if(Objects.isNull(proProjectInfoSubdepts.getUseStatus()) || Objects.equals(proProjectInfoSubdepts.getUseStatus(),UseStateEnums.AW.getCode())){
|
||||||
proProjectInfoSubdepts.setUseStatus(UseStateEnums.IN.getCode());
|
proProjectInfoSubdepts.setUseStatus(UseStateEnums.IN.getCode());
|
||||||
}
|
}
|
||||||
// 生成二维码
|
// 生成二维码
|
||||||
|
@ -931,7 +934,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
if(Objects.nonNull(groups) && groups.size()>0){
|
if(Objects.nonNull(groups) && groups.size()>0){
|
||||||
ProProjectInfoSubdeptsGroup specialGroup = groups.get(0);
|
ProProjectInfoSubdeptsGroup specialGroup = groups.get(0);
|
||||||
specialGroup.setApproveStatus(ApproveStatus.exempt.getCode());
|
specialGroup.setApproveStatus(ApproveStatus.exempt.getCode());
|
||||||
if(Objects.nonNull(specialGroup.getUseStatus()) && Objects.equals(specialGroup.getUseStatus(),UseStateEnums.AW.getCode())){
|
if(Objects.isNull(specialGroup.getUseStatus()) || Objects.equals(specialGroup.getUseStatus(),UseStateEnums.AW.getCode())){
|
||||||
specialGroup.setUseStatus(UseStateEnums.IN.getCode());
|
specialGroup.setUseStatus(UseStateEnums.IN.getCode());
|
||||||
}
|
}
|
||||||
proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(specialGroup);
|
proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(specialGroup);
|
||||||
|
@ -952,7 +955,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
}else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.BZZ.getCode())){
|
}else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.BZZ.getCode())){
|
||||||
ProProjectInfoSubdeptsGroup proProjectInfoSubdeptsGroup = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupById(proProjectInfoSubdeptsUsers.getSubDeptGroup());
|
ProProjectInfoSubdeptsGroup proProjectInfoSubdeptsGroup = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupById(proProjectInfoSubdeptsUsers.getSubDeptGroup());
|
||||||
proProjectInfoSubdeptsGroup.setApproveStatus(ApproveStatus.exempt.getCode());
|
proProjectInfoSubdeptsGroup.setApproveStatus(ApproveStatus.exempt.getCode());
|
||||||
if(Objects.nonNull(proProjectInfoSubdeptsGroup.getUseStatus()) && Objects.equals(proProjectInfoSubdeptsGroup.getUseStatus(),UseStateEnums.AW.getCode())){
|
if(Objects.isNull(proProjectInfoSubdeptsGroup.getUseStatus()) || Objects.equals(proProjectInfoSubdeptsGroup.getUseStatus(),UseStateEnums.AW.getCode())){
|
||||||
proProjectInfoSubdeptsGroup.setUseStatus(UseStateEnums.IN.getCode());
|
proProjectInfoSubdeptsGroup.setUseStatus(UseStateEnums.IN.getCode());
|
||||||
}
|
}
|
||||||
proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(proProjectInfoSubdeptsGroup);
|
proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(proProjectInfoSubdeptsGroup);
|
||||||
|
@ -972,6 +975,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
||||||
}
|
}
|
||||||
|
|
||||||
proProjectInfoSubdeptsUsers.setUseStatus(UseStateEnums.IN.getCode());
|
proProjectInfoSubdeptsUsers.setUseStatus(UseStateEnums.IN.getCode());
|
||||||
|
proProjectInfoSubdeptsUsers.setUseDate(DateUtils.getNowDate());
|
||||||
proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode());
|
proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode());
|
||||||
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
|
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
|
||||||
// 人员入场信息
|
// 人员入场信息
|
||||||
|
|
|
@ -103,10 +103,11 @@ public class SysRoleController extends BaseController
|
||||||
{
|
{
|
||||||
return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
|
return error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
|
||||||
}
|
}
|
||||||
/**else if (!roleService.checkRoleKeyUnique(role))
|
else if (!roleService.checkRoleKeyUnique(role))
|
||||||
{
|
{
|
||||||
return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
|
role.setRoleKey(role.getRoleKey()+"_"+role.getDeptId());
|
||||||
}*/
|
//return error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
|
||||||
|
}
|
||||||
role.setCreateBy(SecurityUtils.getUsername());
|
role.setCreateBy(SecurityUtils.getUsername());
|
||||||
return toAjax(roleService.insertRole(role));
|
return toAjax(roleService.insertRole(role));
|
||||||
|
|
||||||
|
|
|
@ -352,7 +352,9 @@ public class SysUserServiceImpl implements ISysUserService
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
// 新增用户信息
|
// 新增用户信息
|
||||||
user.setUserName(userNameAndCout(user.getNickName()));
|
if(StringUtils.isEmpty(user.getUserName())){
|
||||||
|
user.setUserName(userNameAndCout(user.getNickName()));
|
||||||
|
}
|
||||||
SysDept dept = deptMapper.selectDeptById(user.getDeptId());
|
SysDept dept = deptMapper.selectDeptById(user.getDeptId());
|
||||||
if(Objects.isNull(dept)){
|
if(Objects.isNull(dept)){
|
||||||
throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位");
|
throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位");
|
||||||
|
|
|
@ -77,7 +77,9 @@
|
||||||
</van-collapse-item>
|
</van-collapse-item>
|
||||||
</van-collapse>
|
</van-collapse>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="echarts_max" wx:if="{{(subDeptUserInfo.subDeptType=='1' || subDeptUserInfo.subDeptType=='4' || subDeptUserInfo.subDeptType=='5') && subDeptUserInfo.userPost!='4' && subDeptUserInfo.userPost!='6' && subDeptUserInfo.userPost!='8'}}">
|
<view class="echarts_max" wx:if="{{(subDeptUserInfo.subDeptType=='1' || subDeptUserInfo.subDeptType=='4' || subDeptUserInfo.subDeptType=='5') && subDeptUserInfo.userPost!='4' && subDeptUserInfo.userPost!='6' && subDeptUserInfo.userPost!='8'}}">
|
||||||
|
<video id="myVideo" src="https://xiangguan.sxyanzhu.com/statics/2025/2-建筑施工安全生产标准化系列视频—附着式升降脚手架.wmv" autoplay="{{true}}" bindended="onClickAfterVideo" show-bottom-progress="{{false}}" vslide-gesture="{{true}}" enable-progress-gesture="{{false}}" style="width: 100%;height: 280px;" />
|
||||||
<view class="echarts_min">
|
<view class="echarts_min">
|
||||||
<view class="eharts_title module_title_flex">
|
<view class="eharts_title module_title_flex">
|
||||||
劳务人员
|
劳务人员
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import {
|
import {
|
||||||
getToken
|
getToken,
|
||||||
|
getUserInfo
|
||||||
} from '../../utils/auth'
|
} from '../../utils/auth'
|
||||||
import {
|
import {
|
||||||
findUserMenuList
|
findUserMenuList
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
</van-row>
|
</van-row>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<van-tabbar wx:if="{{subDeptUserInfo.userPost!='3' && subDeptUserInfo.userPost!='4' && subDeptUserInfo.userPost!='5'}}" active="{{ active }}" bind:change="onChange" active-color="#ffffff" inactive-color="#7d95d6">
|
<van-tabbar wx:if="{{subDeptUserInfo.userPost!='3' && subDeptUserInfo.userPost!='4' && subDeptUserInfo.userPost!='5'}}" active="{{ active }}" bind:change="onChange" active-color="#ffffff" inactive-color="#7d95d6">
|
||||||
<van-tabbar-item bindtap="XMGK">
|
<van-tabbar-item bindtap="XMGK">
|
||||||
<image
|
<image
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工种类型" prop="craftType">
|
<el-form-item label="工种类型" prop="craftType">
|
||||||
<el-select v-model="queryParams.craftType" placeholder="请选择工种类型" clearable>
|
<el-select v-model="queryParams.craftType" placeholder="请选择工种类型" @change="changeQueryCraftType" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in pro_craft_type"
|
v-for="dict in pro_craft_type"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in pro_craft_post"
|
v-for="dict in pro_craft_post"
|
||||||
v-show="dict.elTagClass == queryParams.craftType"
|
v-show="dict.elTagClass == queryParams.craftType && dict.remark && dict.remark.indexOf('4,5')>-1"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
@ -165,7 +165,7 @@
|
||||||
<el-select v-model="form.craftPost" multiple placeholder="请选择工种岗位" style="width:100%">
|
<el-select v-model="form.craftPost" multiple placeholder="请选择工种岗位" style="width:100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in pro_craft_post"
|
v-for="dict in pro_craft_post"
|
||||||
v-show="dict.elTagClass == form.craftType"
|
v-show="dict.elTagClass == form.craftType && dict.remark && dict.remark.indexOf('4,5')>-1"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
@ -199,13 +199,13 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="单选题数量" prop="estimateNum">
|
<el-form-item label="判断题数量" prop="estimateNum">
|
||||||
<el-input v-model.number="form.estimateNum" placeholder="请输入单选题数量" />
|
<el-input v-model.number="form.estimateNum" placeholder="请输入判断题数量" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="单选题分数" prop="estimateMark">
|
<el-form-item label="判断题分数" prop="estimateMark">
|
||||||
<el-input v-model.number="form.estimateMark" placeholder="请输入单选题分数" />
|
<el-input v-model.number="form.estimateMark" placeholder="请输入判断题分数" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -423,6 +423,11 @@ function setStatus(val, row) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 岗位类型改变 */
|
||||||
|
function changeQueryCraftType() {
|
||||||
|
queryParams.value.craftPost = null;
|
||||||
|
}
|
||||||
|
|
||||||
/** 岗位类型改变 */
|
/** 岗位类型改变 */
|
||||||
function changeCraftType() {
|
function changeCraftType() {
|
||||||
form.value.craftPost = null;
|
form.value.craftPost = null;
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" filterable clearable>
|
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" filterable clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in pro_craft_post"
|
v-for="dict in pro_craft_post"
|
||||||
|
v-show="dict.remark && dict.remark.indexOf('4,5')>-1"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
@ -251,7 +252,7 @@
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="试题描述" prop="questionDesc">
|
<el-form-item label="试题描述" prop="questionDesc">
|
||||||
<el-input v-model="form.questionDesc" placeholder="请输入试题描述" type="textarea" rows="2" maxlength="64" show-word-limit/>
|
<el-input v-model="form.questionDesc" placeholder="请输入试题描述" type="textarea" rows="2" maxlength="128" show-word-limit/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-divider content-position="center">试题答案信息</el-divider>
|
<el-divider content-position="center">试题答案信息</el-divider>
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
|
@ -352,9 +353,6 @@ const casProps = {
|
||||||
/** 查询基础题库列表 */
|
/** 查询基础题库列表 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
if(!queryParams.value.craftType && queryParams.value.craftPost){
|
|
||||||
queryParams.value.craftPost = null;
|
|
||||||
}
|
|
||||||
listBusExamQuestion(queryParams.value).then(response => {
|
listBusExamQuestion(queryParams.value).then(response => {
|
||||||
response.rows.forEach(item => {
|
response.rows.forEach(item => {
|
||||||
item.disabledState = initRowDisabled(item);
|
item.disabledState = initRowDisabled(item);
|
||||||
|
@ -631,9 +629,8 @@ function initPost() {
|
||||||
let craftTypeDatas=pro_craft_type._object.pro_craft_type;
|
let craftTypeDatas=pro_craft_type._object.pro_craft_type;
|
||||||
let craftPostDatas=pro_craft_post._object.pro_craft_post;
|
let craftPostDatas=pro_craft_post._object.pro_craft_post;
|
||||||
craftTypeDatas.forEach(item =>{
|
craftTypeDatas.forEach(item =>{
|
||||||
item.children = craftPostDatas.filter(deatil=>deatil.elTagClass==item.value);
|
item.children = craftPostDatas.filter(deatil=>deatil.elTagClass==item.value && deatil.remark && deatil.remark.indexOf('4,5')>-1);
|
||||||
});
|
});
|
||||||
console.log("DEFAULT" , craftTypeDatas);
|
|
||||||
craftPostOptions.value = craftTypeDatas;
|
craftPostOptions.value = craftTypeDatas;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in pro_craft_post"
|
v-for="dict in pro_craft_post"
|
||||||
v-show="dict.elTagClass == queryParams.craftType"
|
v-show="dict.elTagClass == queryParams.craftType && dict.remark && dict.remark.indexOf('4,5')>-1"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
|
|
|
@ -19,7 +19,12 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工种岗位" prop="craftPost">
|
<el-form-item label="工种岗位" prop="craftPost">
|
||||||
<el-select v-model="queryParams.craftPost" placeholder="请选择工种岗位" clearable>
|
<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-option v-for="dict in pro_craft_post" v-show="dict.remark && dict.remark.indexOf('4,5')>-1" :key="dict.value" :label="dict.label" :value="dict.value" >
|
||||||
|
<span style="float: left">{{ dict.label }}</span>
|
||||||
|
<span style="float: right;color: var(--el-text-color-secondary);font-size: 13px;">
|
||||||
|
{{ findCraftPost(dict.elTagClass) }}
|
||||||
|
</span>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
@ -192,7 +197,7 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!--培训视频播放对话框 -->
|
<!--培训视频播放对话框 -->
|
||||||
<el-dialog :title="videoTitle" v-model="videoOpen" width="680px" append-to-body modal-class="video-play-dlg">
|
<el-dialog :title="videoTitle" v-model="videoOpen" width="680px" destroy-on-close append-to-body modal-class="video-play-dlg">
|
||||||
<video
|
<video
|
||||||
ref="videoRef"
|
ref="videoRef"
|
||||||
:src="videoSrc"
|
:src="videoSrc"
|
||||||
|
@ -377,6 +382,17 @@ function handleUpdate(row) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 搜索岗位类型
|
||||||
|
function findCraftPost(value) {
|
||||||
|
let craftTypeDatas=pro_craft_type._object.pro_craft_type;
|
||||||
|
for(let i=0;i<craftTypeDatas.length;i++){
|
||||||
|
if(craftTypeDatas[i].value == value){
|
||||||
|
return craftTypeDatas[i].label;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "-";
|
||||||
|
}
|
||||||
|
|
||||||
/** 培训级别操作 */
|
/** 培训级别操作 */
|
||||||
function trainLevelChange(){
|
function trainLevelChange(){
|
||||||
if(form.value.trainLevel){
|
if(form.value.trainLevel){
|
||||||
|
@ -498,7 +514,7 @@ function initPost() {
|
||||||
let craftTypeDatas=pro_craft_type._object.pro_craft_type;
|
let craftTypeDatas=pro_craft_type._object.pro_craft_type;
|
||||||
let craftPostDatas=pro_craft_post._object.pro_craft_post;
|
let craftPostDatas=pro_craft_post._object.pro_craft_post;
|
||||||
craftTypeDatas.forEach(item =>{
|
craftTypeDatas.forEach(item =>{
|
||||||
item.children = craftPostDatas.filter(deatil=>deatil.elTagClass==item.value);
|
item.children = craftPostDatas.filter(deatil=>deatil.elTagClass==item.value && deatil.remark && deatil.remark.indexOf('4,5')>-1);
|
||||||
});
|
});
|
||||||
console.log("DEFAULT" , craftTypeDatas);
|
console.log("DEFAULT" , craftTypeDatas);
|
||||||
craftPostOptions.value = craftTypeDatas;
|
craftPostOptions.value = craftTypeDatas;
|
||||||
|
|
|
@ -142,7 +142,7 @@
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!--培训视频播放对话框 -->
|
<!--培训视频播放对话框 -->
|
||||||
<el-dialog :title="videoTitle" v-model="videoOpen" width="680px" append-to-body modal-class="video-play-user-dlg">
|
<el-dialog :title="videoTitle" v-model="videoOpen" width="680px" destroy-on-close append-to-body modal-class="video-play-user-dlg">
|
||||||
<video
|
<video
|
||||||
ref="videoRef"
|
ref="videoRef"
|
||||||
:src="videoSrc"
|
:src="videoSrc"
|
||||||
|
|
|
@ -85,9 +85,9 @@
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['manage:proProjectInfoSubdepts:edit']">修改</el-button>
|
v-hasPermi="['manage:proProjectInfoSubdepts:edit']">修改</el-button>
|
||||||
<el-button v-if="scope.row.useStatus == '1'" link type="primary" icon="Setting"
|
<el-button v-if="scope.row.useStatus == '0'" link type="primary" icon="Setting"
|
||||||
@click="handleUseStatus(scope.row)" v-hasPermi="['manage:proProjectInfoSubdepts:edit']">离场</el-button>
|
@click="handleUseStatus(scope.row)" v-hasPermi="['manage:proProjectInfoSubdepts:edit']">离场</el-button>
|
||||||
<el-button v-if="scope.row.useStatus == '2'" link type="primary" icon="Setting"
|
<el-button v-if="scope.row.useStatus == '1'" link type="primary" icon="Setting"
|
||||||
@click="handleUseStatus(scope.row)" v-hasPermi="['manage:proProjectInfoSubdepts:edit']">进场</el-button>
|
@click="handleUseStatus(scope.row)" v-hasPermi="['manage:proProjectInfoSubdepts:edit']">进场</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -251,7 +251,7 @@ const data = reactive({
|
||||||
subDeptType: null,
|
subDeptType: null,
|
||||||
subDeptName: null,
|
subDeptName: null,
|
||||||
subDeptCode: null,
|
subDeptCode: null,
|
||||||
useStatus: '1',
|
activeTags: "finished",
|
||||||
approveStatus: null,
|
approveStatus: null,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
|
|
|
@ -77,7 +77,7 @@
|
||||||
<el-button link v-if="scope.row.groupLeaderName" type="primary" icon="UserFilled"
|
<el-button link v-if="scope.row.groupLeaderName" type="primary" icon="UserFilled"
|
||||||
@click="handleUpdateGroupLeader(scope.row)">{{scope.row.groupLeaderName}}</el-button>
|
@click="handleUpdateGroupLeader(scope.row)">{{scope.row.groupLeaderName}}</el-button>
|
||||||
<el-button link v-if="!scope.row.groupLeaderName" type="warning" icon="UserFilled"
|
<el-button link v-if="!scope.row.groupLeaderName" type="warning" icon="UserFilled"
|
||||||
@click="handleUpdateGroupLeader(scope.row)"> - </el-button>
|
@click="handleUpdateGroupLeader(scope.row)"> 设置 </el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="进场状态" align="center" prop="useStatus" width="80">
|
<el-table-column label="进场状态" align="center" prop="useStatus" width="80">
|
||||||
|
@ -416,7 +416,7 @@ function handleExport() {
|
||||||
|
|
||||||
/** 初始化 */
|
/** 初始化 */
|
||||||
function initSubDeptOptions(value) {
|
function initSubDeptOptions(value) {
|
||||||
findAllProjectInfoSubdepts({ 'projectId': value }).then(res => {
|
findAllProjectInfoSubdepts({ 'projectId': value, 'activeTags':"finished" }).then(res => {
|
||||||
subDeptOptions.value = (res.data||[]).filter(d=>["4","5"].includes( d.subDeptType));
|
subDeptOptions.value = (res.data||[]).filter(d=>["4","5"].includes( d.subDeptType));
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
<el-option v-for="(it) in data.subdepts" :key="it.id" :label="it.subDeptName" :value="it.id" />
|
<el-option v-for="(it) in data.subdepts" :key="it.id" :label="it.subDeptName" :value="it.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="班组" prop="subDeptName">
|
<el-form-item label="所属班组" prop="subDeptName">
|
||||||
<el-select v-model="queryParams.subDeptGroup" placeholder="请选择班组" @change="doDeptGroupChange" clearable>
|
<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-option v-for="(it, idx) in data.queryDeptGroups" :key="idx" :label="it.groupName" :value="it.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="姓名" prop="userName">
|
<el-form-item label="人员姓名" prop="userName">
|
||||||
<el-input v-model="queryParams.userName" placeholder="请输入姓名" clearable @keyup.enter="handleQuery" />
|
<el-input v-model="queryParams.userName" placeholder="请输入人员姓名" clearable @keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="联系电话" prop="userId">
|
<el-form-item label="联系电话" prop="userId">
|
||||||
<el-input v-model="queryParams.userPhone" placeholder="请输入联系电话" clearable @keyup.enter="handleQuery" />
|
<el-input v-model="queryParams.userPhone" placeholder="请输入联系电话" clearable @keyup.enter="handleQuery" />
|
||||||
|
@ -30,6 +30,16 @@
|
||||||
:key="dict.value" :label="dict.label" :value="dict.value" />
|
:key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="进场时间" style="width: 308px">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
|
@ -64,6 +74,16 @@
|
||||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-tabs
|
||||||
|
v-model="queryParams.useStatus"
|
||||||
|
type="card"
|
||||||
|
class="demo-tabs"
|
||||||
|
@tab-change="getList"
|
||||||
|
>
|
||||||
|
<el-tab-pane label="全部" name="-1"></el-tab-pane>
|
||||||
|
<el-tab-pane label="进场" name="0"></el-tab-pane>
|
||||||
|
<el-tab-pane label="离场" name="1"></el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
<el-table v-loading="loading" :data="proProjectInfoSubdeptsUsersList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="proProjectInfoSubdeptsUsersList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="头像" align="center">
|
<el-table-column label="头像" align="center">
|
||||||
|
@ -119,8 +139,11 @@
|
||||||
<span v-else style="color: red">离场</span>
|
<span v-else style="color: red">离场</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="出生日期" align="center" prop="info.birthDayStr" v-if="false" />
|
<el-table-column label="入场时间" align="center" prop="useDate" width="100">
|
||||||
<el-table-column label="籍贯" align="center" prop="info.nativePlace" v-if="false" /> -->
|
<template #default="scope">
|
||||||
|
<span>{{ parseTime(scope.row.useDate, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
||||||
|
@ -326,6 +349,7 @@ const single = ref(true);
|
||||||
const multiple = ref(true);
|
const multiple = ref(true);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
const title = ref("");
|
const title = ref("");
|
||||||
|
const dateRange = ref([]);
|
||||||
|
|
||||||
const validatePhone = (rule, value, callback) => {
|
const validatePhone = (rule, value, callback) => {
|
||||||
if (!/^1\d{10}$/.test(value)) {
|
if (!/^1\d{10}$/.test(value)) {
|
||||||
|
@ -354,13 +378,14 @@ const data = reactive({
|
||||||
eduSignPath: null,
|
eduSignPath: null,
|
||||||
eduDate: null,
|
eduDate: null,
|
||||||
approveStatus: null,
|
approveStatus: null,
|
||||||
useStatus: null,
|
useStatus: "0",
|
||||||
subStep: null,
|
subStep: null,
|
||||||
illnessStatus: null,
|
illnessStatus: null,
|
||||||
supIllnessStatus: null,
|
supIllnessStatus: null,
|
||||||
isDel: null,
|
isDel: null,
|
||||||
userWorkType: null,
|
userWorkType: null,
|
||||||
workType: null,
|
workType: null,
|
||||||
|
activeTags:"finished"
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
|
subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
|
||||||
|
@ -502,8 +527,7 @@ function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
queryParams.value.comId = userStore.currentComId;
|
queryParams.value.comId = userStore.currentComId;
|
||||||
queryParams.value.projectId = userStore.currentPrjId;
|
queryParams.value.projectId = userStore.currentPrjId;
|
||||||
queryParams.value.activeTags = "finished";
|
listProProjectInfoSubdeptsUsers(proxy.addDateRange(queryParams.value, dateRange.value)).then(response => {
|
||||||
listProProjectInfoSubdeptsUsers(queryParams.value).then(response => {
|
|
||||||
proProjectInfoSubdeptsUsersList.value = (response.rows || []).map(d => {
|
proProjectInfoSubdeptsUsersList.value = (response.rows || []).map(d => {
|
||||||
d.info = tryToJson(d.userInfos || "{}")
|
d.info = tryToJson(d.userInfos || "{}")
|
||||||
d.user = d.user || {};
|
d.user = d.user || {};
|
||||||
|
@ -653,6 +677,7 @@ function handleQuery() {
|
||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
function resetQuery() {
|
function resetQuery() {
|
||||||
|
dateRange.value = [];
|
||||||
proxy.resetForm("queryRef");
|
proxy.resetForm("queryRef");
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +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" style="width: 150px;" />
|
<el-input v-model="form.nickName" placeholder="请输入用户姓名" maxlength="30" 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>
|
||||||
|
@ -334,7 +334,7 @@ const data = reactive({
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
deptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
deptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
||||||
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
userName: [{ required: false, message: "登录账号不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||||
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
||||||
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
||||||
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
||||||
|
@ -343,8 +343,6 @@ const data = reactive({
|
||||||
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
||||||
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
|
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
|
||||||
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
||||||
cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
|
||||||
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
|
|
||||||
},
|
},
|
||||||
editUser: null,
|
editUser: null,
|
||||||
mode: '',
|
mode: '',
|
||||||
|
@ -423,21 +421,21 @@ function doRoleChange() {
|
||||||
if (form.value.userType == 99) {
|
if (form.value.userType == 99) {
|
||||||
data.rules = {
|
data.rules = {
|
||||||
deptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
deptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
||||||
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
userName: [{ required: false, message: "登录账号不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||||
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
||||||
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
||||||
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
||||||
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
|
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
|
||||||
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
||||||
cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
cardCode: [{ required: true, message: "证件号码不能为空", trigger: "blur" }],
|
||||||
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
|
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
|
||||||
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
data.rules = {
|
data.rules = {
|
||||||
deptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
deptId: [{ required: true, message: "所属单位不能为空", trigger: "change" }],
|
||||||
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
userName: [{ required: false, message: "登录账号不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||||
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
||||||
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
||||||
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
||||||
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
||||||
|
@ -450,21 +448,20 @@ function doRoleChange() {
|
||||||
else {
|
else {
|
||||||
if (form.value.userType == 99) {
|
if (form.value.userType == 99) {
|
||||||
data.rules = {
|
data.rules = {
|
||||||
|
userName: [{ required: false, message: "登录账号不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||||
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
||||||
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
|
||||||
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
||||||
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
||||||
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
||||||
cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
cardCode: [{ required: true, message: "证件号码不能为空", trigger: "blur" }],
|
||||||
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
|
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
|
||||||
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
data.rules = {
|
data.rules = {
|
||||||
|
|
||||||
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
userName: [{ required: false, message: "登录账号不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||||
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
|
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
||||||
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
|
||||||
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
|
||||||
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
|
||||||
|
|
Loading…
Reference in New Issue