pref#ncu_commit
This commit is contained in:
@@ -68,7 +68,7 @@ public class SysLoginController {
|
|||||||
@Ok("re")
|
@Ok("re")
|
||||||
@ApiOperation("用户本地登录页面")
|
@ApiOperation("用户本地登录页面")
|
||||||
@Filters
|
@Filters
|
||||||
// @SaCheckLogin
|
@SaCheckLogin
|
||||||
public String login(HttpServletRequest req, HttpSession session) {
|
public String login(HttpServletRequest req, HttpSession session) {
|
||||||
return "beetl:/platform/sys/login.html";
|
return "beetl:/platform/sys/login.html";
|
||||||
}
|
}
|
||||||
@@ -76,7 +76,7 @@ public class SysLoginController {
|
|||||||
@At
|
@At
|
||||||
@Ok("re")
|
@Ok("re")
|
||||||
@Filters
|
@Filters
|
||||||
// @SaCheckLogin
|
@SaCheckLogin
|
||||||
public String h5() {
|
public String h5() {
|
||||||
return "beetl:/platform/sys/login.html";
|
return "beetl:/platform/sys/login.html";
|
||||||
}
|
}
|
||||||
@@ -92,7 +92,7 @@ public class SysLoginController {
|
|||||||
@At("/doLogin")
|
@At("/doLogin")
|
||||||
@Ok("json")
|
@Ok("json")
|
||||||
@ApiOperation("用户本地账号密码登录")
|
@ApiOperation("用户本地账号密码登录")
|
||||||
// @SaCheckLogin
|
@SaCheckLogin
|
||||||
public Object doLogin(@Param("username") String username,
|
public Object doLogin(@Param("username") String username,
|
||||||
@Param("password") String password,
|
@Param("password") String password,
|
||||||
@Param("platformKey") String captchaKey,
|
@Param("platformKey") String captchaKey,
|
||||||
|
|||||||
@@ -48,8 +48,6 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by wizzer on 2016/6/24.
|
* Created by wizzer on 2016/6/24.
|
||||||
*/
|
*/
|
||||||
@@ -300,7 +298,7 @@ public class SysUnitController {
|
|||||||
)
|
)
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
List<Tree<String>> treeList = TreeUtil.build(nodeList, StrUtil.blankToDefault(pid, "0000"));
|
List<Tree<String>> treeList = TreeUtil.build(nodeList, StrUtil.blankToDefault(pid, "0"));
|
||||||
|
|
||||||
// NutMap menuMap = NutMap.NEW();
|
// NutMap menuMap = NutMap.NEW();
|
||||||
// for (Sys_unit unit : list) {
|
// for (Sys_unit unit : list) {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import com.budwk.app.sys.services.SysUserService;
|
|||||||
import com.budwk.app.zhgh.democratic.proposal.models.ProposalConfig;
|
import com.budwk.app.zhgh.democratic.proposal.models.ProposalConfig;
|
||||||
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeOrigin;
|
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeOrigin;
|
||||||
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeType;
|
import com.budwk.app.zhgh.staffmanage.member.constant.MemberChangeType;
|
||||||
|
import com.budwk.app.zhgh.staffmanage.specialstaff.model.SpecialStaff;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||||
import org.nutz.dao.Chain;
|
import org.nutz.dao.Chain;
|
||||||
@@ -174,6 +175,10 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
List<Sys_user> sysUsers = dao.query(Sys_user.class, Cnd.NEW().groupBy("loginname"));
|
List<Sys_user> sysUsers = dao.query(Sys_user.class, Cnd.NEW().groupBy("loginname"));
|
||||||
Map<String, Sys_user> userMap = sysUsers.stream().collect(Collectors.toMap(Sys_user::getLoginname, sysUser -> sysUser));
|
Map<String, Sys_user> userMap = sysUsers.stream().collect(Collectors.toMap(Sys_user::getLoginname, sysUser -> sysUser));
|
||||||
|
|
||||||
|
// 特殊人员,忽略更新
|
||||||
|
List<String> specialStaffList = dao.query(SpecialStaff.class, Cnd.NEW()).stream().map(SpecialStaff::getUserId).toList();
|
||||||
|
|
||||||
|
|
||||||
// 准备数据集合
|
// 准备数据集合
|
||||||
List<Sys_user> needDoUpdateList = new CopyOnWriteArrayList<>();
|
List<Sys_user> needDoUpdateList = new CopyOnWriteArrayList<>();
|
||||||
List<Sys_user> needInitUserList = new CopyOnWriteArrayList<>();
|
List<Sys_user> needInitUserList = new CopyOnWriteArrayList<>();
|
||||||
@@ -183,6 +188,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
|
|
||||||
// 处理每条数据
|
// 处理每条数据
|
||||||
for (Sys_user_source source : sources) {
|
for (Sys_user_source source : sources) {
|
||||||
|
|
||||||
Sys_user user = userMap.get(source.getLoginname());
|
Sys_user user = userMap.get(source.getLoginname());
|
||||||
|
|
||||||
// 创建用户对象
|
// 创建用户对象
|
||||||
@@ -203,6 +209,11 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
// }
|
// }
|
||||||
needInitUserList.add(u);
|
needInitUserList.add(u);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
if (specialStaffList.contains(u.getId())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// 修改现有用户
|
// 修改现有用户
|
||||||
u.setId(user.getId());
|
u.setId(user.getId());
|
||||||
|
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Sys_user> implements Sys
|
|||||||
String decodePwd = Base64Decoder.decodeStr(passowrd);
|
String decodePwd = Base64Decoder.decodeStr(passowrd);
|
||||||
String hashedPassword = PwdUtil.getPassword(decodePwd, user.getSalt());
|
String hashedPassword = PwdUtil.getPassword(decodePwd, user.getSalt());
|
||||||
if (!Strings.sNull(hashedPassword).equalsIgnoreCase(user.getPassword())) {
|
if (!Strings.sNull(hashedPassword).equalsIgnoreCase(user.getPassword())) {
|
||||||
// throw new BaseException("用户名或者密码不正确");
|
throw new BaseException("用户名或者密码不正确");
|
||||||
}
|
}
|
||||||
user = this.fetchLinks(user, "unit");
|
user = this.fetchLinks(user, "unit");
|
||||||
if (Lang.isNotEmpty(user.getUnit()) && StrUtil.isNotBlank(user.getUnit().getUnionId())) {
|
if (Lang.isNotEmpty(user.getUnit()) && StrUtil.isNotBlank(user.getUnit().getUnionId())) {
|
||||||
|
|||||||
+5
-8
@@ -109,19 +109,16 @@ public class SpecialStaffManageController {
|
|||||||
BeanUtil.copyProperties(specialStaffVo, staff);
|
BeanUtil.copyProperties(specialStaffVo, staff);
|
||||||
if (specialStaffVo.getIsManyUnit()!=null && specialStaffVo.getIsManyUnit()) {
|
if (specialStaffVo.getIsManyUnit()!=null && specialStaffVo.getIsManyUnit()) {
|
||||||
// 如果是多单位人员, 更改单位为工会关系
|
// 如果是多单位人员, 更改单位为工会关系
|
||||||
user.setUnitId(specialStaffVo.getUnionRelationUnitId());
|
dao.update(
|
||||||
// user.setThreeUnitId(specialStaffVo.getUnionRelationThreeUnitId());
|
Sys_user.class,
|
||||||
// user.setIsManyUnit(true);
|
Chain.make("unitId", specialStaffVo.getUnionRelationUnitId()),
|
||||||
dao.updateIgnoreNull(user);
|
Cnd.where(Sys_user::getId, "=", user.getId())
|
||||||
|
);
|
||||||
|
|
||||||
staff.setPersonnelRelationUnitId(viewUser.getUnitId());
|
staff.setPersonnelRelationUnitId(viewUser.getUnitId());
|
||||||
staff.setPersonnelRelationUnitName(viewUser.getUnitName());
|
staff.setPersonnelRelationUnitName(viewUser.getUnitName());
|
||||||
staff.setPersonnelRelationUnionId(viewUser.getUnionId());
|
staff.setPersonnelRelationUnionId(viewUser.getUnionId());
|
||||||
staff.setPersonnelRelationUnionName(viewUser.getUnionName());
|
staff.setPersonnelRelationUnionName(viewUser.getUnionName());
|
||||||
// staff.setPersonnelRelationThreeUnitId(viewUser.getThreeUnitId());
|
|
||||||
// staff.setPersonnelRelationThreeUnitName(viewUser.getThreeUnitName());
|
|
||||||
// staff.setPersonnelRelationUnionGroupId(viewUser.getUnionGroupId());
|
|
||||||
// staff.setPersonnelRelationUnionGroupName(viewUser.getUnionGroupName());
|
|
||||||
}
|
}
|
||||||
staff.setUserId(user.getId());
|
staff.setUserId(user.getId());
|
||||||
dao.insertOrUpdate(staff);
|
dao.insertOrUpdate(staff);
|
||||||
|
|||||||
-1
@@ -72,7 +72,6 @@ public class SpecialStaffManageServiceImpl extends BaseServiceImpl<SpecialStaff>
|
|||||||
|
|
||||||
cnd.andEX("u.unionId", "=", pageForm.getUnionId());
|
cnd.andEX("u.unionId", "=", pageForm.getUnionId());
|
||||||
cnd.andEX("u.unitId", "=", pageForm.getUnitId());
|
cnd.andEX("u.unitId", "=", pageForm.getUnitId());
|
||||||
cnd.andEX("u.personType", "=", pageForm.getPersonType());
|
|
||||||
cnd.andEX("u.userState", "=", pageForm.getUserState());
|
cnd.andEX("u.userState", "=", pageForm.getUserState());
|
||||||
cnd.andEX("u.personType", "=", pageForm.getPersonType());
|
cnd.andEX("u.personType", "=", pageForm.getPersonType());
|
||||||
cnd.andEX("s.specialStaffType", "=", pageForm.getSpecialStaffType());
|
cnd.andEX("s.specialStaffType", "=", pageForm.getSpecialStaffType());
|
||||||
|
|||||||
@@ -1,34 +1,101 @@
|
|||||||
<!--#
|
<!--#
|
||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
<style></style>
|
<style scoped>
|
||||||
|
.custom-tree {
|
||||||
|
background: transparent;
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 节点行高调整 */
|
||||||
|
.custom-tree .el-tree-node {
|
||||||
|
margin: 2px 0;
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 选中状态 */
|
||||||
|
.custom-tree .el-tree-node.is-current > .el-tree-node__content {
|
||||||
|
background: #e8f4ff;
|
||||||
|
border-left: 3px solid #409eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 节点内容区域 */
|
||||||
|
.custom-tree .el-tree-node__content {
|
||||||
|
height: 36px;
|
||||||
|
line-height: 36px;
|
||||||
|
padding: 0 8px;
|
||||||
|
border-radius: 6px;
|
||||||
|
transition: all 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 自定义节点内容 */
|
||||||
|
.custom-tree-node {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 文件夹图标颜色优化 */
|
||||||
|
.el-icon-folder {
|
||||||
|
color: #909399;
|
||||||
|
}
|
||||||
|
.el-icon-folder-opened {
|
||||||
|
color: #409eff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 展开时图标旋转动画 */
|
||||||
|
.custom-tree .el-tree-node__expand-icon {
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
}
|
||||||
|
.custom-tree .el-tree-node__expand-icon.expanded {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 节点标签 */
|
||||||
|
.node-label {
|
||||||
|
flex: 1;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #303133;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 禁用展开图标(当无子节点时) */
|
||||||
|
.custom-tree .el-tree-node__expand-icon.is-leaf {
|
||||||
|
color: transparent;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<el-row type="flex" :gutter="20" style="height: calc(100vh - 126px)">
|
<el-row type="flex" :gutter="20" style="height: calc(100vh - 126px)">
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<el-input placeholder="输入关键字进行查找" v-model="filterText" clearable></el-input>
|
<el-input placeholder="输入关键字进行查找" v-model="filterText" clearable></el-input>
|
||||||
<div style="max-height: calc(100vh - 200px); overflow-y: auto">
|
<div style="max-height: calc(100vh - 200px); overflow-y: auto">
|
||||||
<el-tree
|
<el-tree
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
ref="treeRef"
|
ref="treeRef"
|
||||||
:expand-on-click-node="false"
|
:expand-on-click-node="false"
|
||||||
:props="{
|
:props="{ children: 'children', label: 'name' }"
|
||||||
children: 'children',
|
node-key="id"
|
||||||
label: 'name'
|
default-expand-all
|
||||||
}"
|
@node-click="treeNodeClick"
|
||||||
node-key="id"
|
:filter-node-method="filterNode"
|
||||||
@node-click="treeNodeClick"
|
highlight-current
|
||||||
:filter-node-method="filterNode"
|
class="custom-tree"
|
||||||
highlight-current
|
>
|
||||||
>
|
<template slot-scope="{ node, data }">
|
||||||
<template slot-scope="{ node, data }">
|
<span class="custom-tree-node">
|
||||||
<span class="el-tree-node__label">
|
<i class="el-icon-folder-opened" v-if="node.level===1"></i>
|
||||||
<i class="el-icon-folder-opened" v-if="node.level===1"></i>
|
<i class="el-icon-folder" v-else></i>
|
||||||
<i class="el-icon-folder" v-else></i>
|
<span class="node-label">{{ node.label }}</span>
|
||||||
{{node.label}}
|
</span>
|
||||||
</span>
|
</template>
|
||||||
</template>
|
</el-tree>
|
||||||
</el-tree>
|
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const UNIT_MANAGE_TEMPLATE = {
|
const UNIT_MANAGE_TEMPLATE = {
|
||||||
template: `
|
template: /*language=HTML*/ `
|
||||||
<div>
|
<div>
|
||||||
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter);">
|
<el-card shadow="never" style="border: 1px solid var(--border-color-lighter);">
|
||||||
<el-row :gutter="10" type="flex">
|
<el-row :gutter="10" type="flex">
|
||||||
@@ -30,27 +30,37 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
|
|
||||||
<el-dialog title="设置单位" :visible.sync="dialogVisible" :close-on-click-modal="false" width="40%" top="2%">
|
<el-dialog title="设置单位" :visible.sync="dialogVisible" :close-on-click-modal="false" width="40%" top="2%">
|
||||||
<el-form :model="formData" ref="form" :rules="formRules" size="small" label-width="80px">
|
<el-form :model="formData" ref="form" :rules="formRules" size="small" label-width="80px">
|
||||||
<el-form-item v-if="formData.id === '' || formData.id === null || currentNode === 1" prop="parentId" label="上级单位" label-width="80px">
|
<el-form-item label="上级单位">
|
||||||
<el-cascader :props="props" :options="options" v-model="parentUnit" placeholder="请选择上次单位,不选择则为顶级" style="width: 100%"></el-cascader>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-else label="上级单位">
|
|
||||||
<el-input maxlength="100" disabled :value="currentData?.name" type="text"></el-input>
|
<el-input maxlength="100" disabled :value="currentData?.name" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="name" label="单位名称">
|
<el-form-item prop="name" label="单位名称">
|
||||||
<el-input maxlength="100" placeholder="请输入单位名称" v-model="formData.name" auto-complete="off" tabindex="2" type="text"></el-input>
|
<el-input maxlength="100" placeholder="请输入单位名称" v-model="formData.name" auto-complete="off" tabindex="2" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="name" label="单位名称">
|
||||||
|
<el-input maxlength="100" placeholder="请输入单位名称" v-model="formData.name" auto-complete="off" tabindex="2" type="text"></el-input>
|
||||||
|
</el-form-item>
|
||||||
<!-- <el-form-item prop="aliasName" label="单位别名">-->
|
<!-- <el-form-item prop="aliasName" label="单位别名">-->
|
||||||
<!-- <el-input maxlength="100" placeholder="请输入单位别名" v-model="formData.aliasName" auto-complete="off" tabindex="3" type="text"></el-input>-->
|
<!-- <el-input maxlength="100" placeholder="请输入单位别名" v-model="formData.aliasName" auto-complete="off" tabindex="3" type="text"></el-input>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<el-form-item prop="unitcode" label="单位编码">
|
<el-form-item prop="unitcode" label="单位编码">
|
||||||
<el-input maxlength="100" placeholder="请输入单位编码" v-model="formData.unitcode" auto-complete="off" tabindex="4" type="text"></el-input>
|
<el-input maxlength="100" placeholder="请输入单位编码" v-model="formData.unitcode" auto-complete="off" tabindex="4" type="text"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="unitLevel" label="单位等级">
|
<el-form-item prop="unitLevel" label="单位等级">
|
||||||
<el-select v-model="formData.unitLevel" placeholder="请输入单位等级" style="width: 100%">
|
<el-select v-model="formData.unitLevel" placeholder="请输入单位等级" style="width: 100%">
|
||||||
|
<el-option v-if="unitLevel === 1" label="一级单位" :value="1"></el-option>
|
||||||
<el-option v-if="unitLevel === 2" label="二级单位" :value="2"></el-option>
|
<el-option v-if="unitLevel === 2" label="二级单位" :value="2"></el-option>
|
||||||
<el-option v-if="unitLevel === 3" label="三级单位" :value="3"></el-option>
|
<el-option v-if="unitLevel === 3" label="三级单位" :value="3"></el-option>
|
||||||
|
<el-option v-if="unitLevel === 4" label="四级单位" :value="4"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item prop="unionId" label="所属工会">
|
||||||
|
<el-select v-model="formData.unionId" placeholder="请选择所属工会" style="width: 100%">
|
||||||
|
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||||
|
v-for="item in unions"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<!-- <el-form-item prop="address" label="单位地址">-->
|
<!-- <el-form-item prop="address" label="单位地址">-->
|
||||||
<!-- <el-input maxlength="100" placeholder="请输入单位地址" v-model="formData.address" auto-complete="off" tabindex="5" type="text"></el-input>-->
|
<!-- <el-input maxlength="100" placeholder="请输入单位地址" v-model="formData.address" auto-complete="off" tabindex="5" type="text"></el-input>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
@@ -88,6 +98,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
store,
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
pageForm: {
|
pageForm: {
|
||||||
@@ -107,7 +118,7 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
formRules: {
|
formRules: {
|
||||||
name: [{ required: true, message: "必填", trigger: "blur" }],
|
name: [{ required: true, message: "必填", trigger: "blur" }],
|
||||||
unitcode: [{ required: true, message: "必填", trigger: "blur" }],
|
unitcode: [{ required: true, message: "必填", trigger: "blur" }],
|
||||||
unitLevel: [{ required: true, message: "必填", trigger: "blur" }],
|
unitLevel: [{ required: false, message: "必填", trigger: "blur" }],
|
||||||
email: [
|
email: [
|
||||||
{ required: false, message: "单位邮箱", trigger: "blur" },
|
{ required: false, message: "单位邮箱", trigger: "blur" },
|
||||||
{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
|
{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
|
||||||
@@ -115,24 +126,8 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
},
|
},
|
||||||
options: [],
|
options: [],
|
||||||
parentUnit: [],
|
parentUnit: [],
|
||||||
props: {
|
|
||||||
lazy: true,
|
unions: [],
|
||||||
checkStrictly: true,
|
|
||||||
multiple: false,
|
|
||||||
lazyLoad: function (node, resolve) {
|
|
||||||
var url = base + "/platform/sys/unit/cascaderData"
|
|
||||||
$.post(
|
|
||||||
url,
|
|
||||||
{ pid: node.value },
|
|
||||||
function (data) {
|
|
||||||
if (data.code === 0) {
|
|
||||||
resolve(data.data)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"json"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
@@ -148,26 +143,29 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
this.options = []
|
this.options = []
|
||||||
},
|
},
|
||||||
doHandle() {
|
doHandle() {
|
||||||
const self = this
|
this.$confirm("确定要提交吗?", "提示", {
|
||||||
const url = this.formData.id ? "/platform/sys/unit/editDo" : "/platform/sys/unit/addDo"
|
confirmButtonText: "确定",
|
||||||
this.$refs["form"].validate(async function (valid) {
|
cancelButtonText: "取消",
|
||||||
if (valid) {
|
type: "warning"
|
||||||
if (!self.formData.id) {
|
}).then(() => {
|
||||||
self.formData.parentId = self.parentUnit[self.parentUnit.length - 1] || ""
|
const self = this
|
||||||
|
const url = this.formData.id ? "/platform/sys/unit/editDo" : "/platform/sys/unit/addDo"
|
||||||
|
this.$refs["form"].validate(async function (valid) {
|
||||||
|
if (valid) {
|
||||||
|
if (self.currentNode) {
|
||||||
|
self.formData.parentId = self.currentData.id
|
||||||
|
}
|
||||||
|
const resp = await self.$axios.post(url, self.formData)
|
||||||
|
if (resp.code === 0) {
|
||||||
|
self.$message.success(resp.msg)
|
||||||
|
self.doSearch()
|
||||||
|
self.dialogVisible = false
|
||||||
|
self.$emit("refresh", null)
|
||||||
|
} else {
|
||||||
|
self.$message.warning(resp.msg)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (self.currentNode !== 1) {
|
})
|
||||||
self.formData.parentId = self.currentData.id
|
|
||||||
}
|
|
||||||
const resp = await self.$axios.post(url, self.formData)
|
|
||||||
if (resp.code === 0) {
|
|
||||||
self.$message.success(resp.msg)
|
|
||||||
self.doSearch()
|
|
||||||
self.dialogVisible = false
|
|
||||||
self.$emit("refresh", null)
|
|
||||||
} else {
|
|
||||||
self.$message.warning(resp.msg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async openEdit(id) {
|
async openEdit(id) {
|
||||||
@@ -216,7 +214,13 @@ const UNIT_MANAGE_TEMPLATE = {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
async created() {
|
||||||
this.pageData()
|
this.pageData()
|
||||||
|
|
||||||
|
if (this.$auth.hasRoleOr('SYSADMIN, SCHOOL_UNION_ADMIN')) {
|
||||||
|
this.unions = await this.$businessTool.listUnion()
|
||||||
|
} else {
|
||||||
|
this.unions = await this.$businessTool.listUnion(this.store.state.user.union.id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
<!-- 第 3 行 -->
|
<!-- 第 3 行 -->
|
||||||
<el-descriptions-item label="证件类型">{{ viewData.idCardType }}</el-descriptions-item>
|
<el-descriptions-item label="证件类型">{{ viewData.idCardType }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="身份证号码">{{ viewData.idcard }}</el-descriptions-item>
|
<el-descriptions-item label="身份证号码">{{ viewData.idCard }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="联系电话">{{ viewData.mobile }}</el-descriptions-item>
|
<el-descriptions-item label="联系电话">{{ viewData.mobile }}</el-descriptions-item>
|
||||||
|
|
||||||
<!-- 第 4 行 -->
|
<!-- 第 4 行 -->
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
<!-- 仅本人可见 -->
|
<!-- 仅本人可见 -->
|
||||||
<template v-if="viewData.loginname === $store.state.user.loginname">
|
<template v-if="viewData.loginname === $store.state.user.loginname">
|
||||||
<el-descriptions-item label="家庭主要成员" :span="3">
|
<el-descriptions-item label="家庭主要成员" :span="3">
|
||||||
<el-table v-if="viewData.families && viewData.families.length" :data="viewData.families" size="mini" border :header-cell-style="{background:'#eff3f6'}" style="width: 100%">
|
<el-table v-if="viewData.families && viewData.families.length > 0" :data="viewData.families" size="mini" border :header-cell-style="{background:'#eff3f6'}" style="width: 100%">
|
||||||
<el-table-column prop="relation" label="与本人关系" align="center"/>
|
<el-table-column prop="relation" label="与本人关系" align="center"/>
|
||||||
<el-table-column prop="name" label="姓名" align="center"/>
|
<el-table-column prop="name" label="姓名" align="center"/>
|
||||||
<el-table-column prop="unit" label="单位" align="center"/>
|
<el-table-column prop="unit" label="单位" align="center"/>
|
||||||
|
|||||||
@@ -45,25 +45,17 @@ layout("/layouts/platform.html"){
|
|||||||
<el-table ref="table" :data="tableData" :size="tableSize" row-key="id"
|
<el-table ref="table" :data="tableData" :size="tableSize" row-key="id"
|
||||||
style="width: 100%" @sort-change="pageOrder">
|
style="width: 100%" @sort-change="pageOrder">
|
||||||
<el-table-column :index="indexMethod" header-align="center" label="序号" type="index" width="80px"></el-table-column>
|
<el-table-column :index="indexMethod" header-align="center" label="序号" type="index" width="80px"></el-table-column>
|
||||||
<el-table-column v-for="column in tableColumns"
|
<el-table-column v-for="column in tableColumns"
|
||||||
:key="column.prop"
|
:key="column.prop"
|
||||||
:label="column.label"
|
:label="column.label"
|
||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
:sortable="column.sortable"
|
:sortable="column.sortable"
|
||||||
header-align="center"
|
header-align="center"
|
||||||
show-overflow-tooltip>
|
show-overflow-tooltip>
|
||||||
<template scope="{row}" v-if="column.prop==='personnelRelationUnionName'">
|
<template v-if="column.prop==='specialStaffType'" scope="{row:{specialStaffType}}">
|
||||||
<el-tag effect="plain">
|
<dict-tag :options="dict.type.SPECIAL_STAFF_TYPE" :value="specialStaffType"></dict-tag>
|
||||||
{{row.personnelRelationUnionName || '无工会'}}
|
</template>
|
||||||
</el-tag>
|
</el-table-column>
|
||||||
</template>
|
|
||||||
|
|
||||||
<template scope="{row}" v-else-if="column.prop==='unionRelationUnionName'">
|
|
||||||
<el-tag>
|
|
||||||
{{row.unionRelationUnionName || '无工会'}}
|
|
||||||
</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
<el-table-column align="center" fixed="right" header-align="center" label="操作">
|
<el-table-column align="center" fixed="right" header-align="center" label="操作">
|
||||||
<template scope="scope">
|
<template scope="scope">
|
||||||
@@ -217,12 +209,14 @@ layout("/layouts/platform.html"){
|
|||||||
{ prop: 'username', label: '姓名' },
|
{ prop: 'username', label: '姓名' },
|
||||||
{ prop: 'sex', label: '性别' },
|
{ prop: 'sex', label: '性别' },
|
||||||
{ prop: 'mobile', label: '联系电话' },
|
{ prop: 'mobile', label: '联系电话' },
|
||||||
{ prop: 'personType', label: '教职工类别', sortable: true },
|
{ prop: 'personType', label: '人员类型', sortable: true },
|
||||||
{ prop: 'userState', label: '在职状态', sortable: true },
|
{ prop: 'userState', label: '在职状态', sortable: true },
|
||||||
{ prop: 'distSpecialStaffType', label: '特别人员类型', sortable: true },
|
{ prop: 'personnelRelationUnionName', label: '人事关系工会', sortable: true},
|
||||||
{ prop: 'personnelRelationUnionName', label: '人事关系工会', sortable: true, width: 180 },
|
|
||||||
{ prop: 'personnelRelationUnitName', label: '人事关系单位', sortable: true },
|
{ prop: 'personnelRelationUnitName', label: '人事关系单位', sortable: true },
|
||||||
{ prop: 'unionRelationUnionName', label: '工会关系工会', sortable: true, width: 180 },
|
{ prop: 'unionRelationUnionName', label: '工会关系工会', sortable: true},
|
||||||
|
|
||||||
|
{ prop: 'unionRelationUnitName', label: '工会关系单位', sortable: true },
|
||||||
|
{ prop: 'distSpecialStaffType', label: '特别人员类型', sortable: true },
|
||||||
// { prop: 'specialStaffRemark', label: '多单位人员备注', sortable: true, checked: 0 }
|
// { prop: 'specialStaffRemark', label: '多单位人员备注', sortable: true, checked: 0 }
|
||||||
],
|
],
|
||||||
unions: [],
|
unions: [],
|
||||||
|
|||||||
Reference in New Issue
Block a user