蔡德晨 hace 5 años
padre
commit
6e83494be3

+ 2 - 0
src/main/java/com/jeeplus/modules/sys/dao/RoleDao.java

@@ -34,6 +34,8 @@ public interface RoleDao extends CrudDao<Role> {
 
 	public List<Role> getRoleListByCompanys(Role role);
 
+	List<Role> getByOfficeId(String officeId);
+
 	/**
 	 * 维护岗位与菜单权限关系
 	 * @param role

+ 3 - 0
src/main/java/com/jeeplus/modules/sys/dao/UserDao.java

@@ -7,6 +7,7 @@ import java.util.HashMap;
 import java.util.List;
 
 import com.jeeplus.modules.sys.entity.Office;
+import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
 import org.apache.ibatis.annotations.Param;
 
 import com.jeeplus.common.persistence.CrudDao;
@@ -219,4 +220,6 @@ public interface UserDao extends CrudDao<User> {
     List<User> findUserByOfficeRole(Office office);
 
     void updateUserCompanyId(String companyId);
+
+    int insertRole(WorkStaffBasicInfo workStaffBasicInfo);
 }

+ 4 - 0
src/main/java/com/jeeplus/modules/sys/service/RoleService.java

@@ -26,4 +26,8 @@ public class RoleService extends CrudService<RoleDao,Role> {
         return roleDao.getRoleByCompanyId(roleId,companyId);
     }
 
+    public List<Role> getByOfficeId(String officeId){
+        return roleDao.getByOfficeId(officeId);
+    }
+
 }

+ 5 - 0
src/main/java/com/jeeplus/modules/sys/service/UserService.java

@@ -23,6 +23,7 @@ import com.jeeplus.modules.sysuseroffice.entity.Useroffice;
 import com.jeeplus.modules.sysuseroffice.service.UserofficeService;
 import com.jeeplus.modules.tools.utils.TwoDimensionCode;
 import com.jeeplus.modules.workcompanyinfo.service.CompanyinfoService;
+import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
 import io.swagger.client.model.NewPassword;
 import io.swagger.client.model.Nickname;
 import io.swagger.client.model.RegisterUsers;
@@ -391,4 +392,8 @@ public class UserService extends BaseController {
     public Integer userCount(String officeId){
         return userDao.userCount(officeId);
     };
+
+    public void insertRole(WorkStaffBasicInfo workStaffBasicInfo){
+        userDao.insertRole(workStaffBasicInfo);
+    }
 }

+ 31 - 0
src/main/java/com/jeeplus/modules/sys/web/RoleController.java

@@ -776,4 +776,35 @@ public class RoleController extends BaseController {
 		}
 		return map;
 	}
+
+//	@ResponseBody
+//	@RequestMapping(value = "treeData")
+//	public List<Map<String, Object>> treeData(String officeId) {
+//		List<Map<String, Object>> mapList = Lists.newArrayList();
+//		List<Role> list = roleDao.getByOfficeId(officeId);
+//		for (int i = 0; i < list.size(); i++) {
+//			Role e = list.get(i);
+//				Map<String, Object> map = Maps.newHashMap();
+//				map.put("id", e.getId());
+//				map.put("pId", ));
+//				map.put("pIds", e.getParentIds());
+//				map.put("name", e.getTopCompany());
+//				map.put("type", e.getType());
+//				if (type != null && "3".equals(type)) {
+//					map.put("isParent", true);
+//				}
+//				mapList.add(map);
+//		}
+//		return mapList;
+//	}
+
+    @ResponseBody
+    @RequestMapping("getByOfficeId")
+    public Map getByOfficeId(String id,Model model){
+	    Map map = new HashMap();
+	    List<Role> roles = roleDao.getByOfficeId(id);
+	    map.put("data",roles);
+	    return map;
+
+    }
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java

@@ -162,6 +162,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         workStaffBasicInfo.setId(baseId);
 		super.save(workStaffBasicInfo);
 	    this.saveDetails(workStaffBasicInfo,false);
+	    userService.insertRole(workStaffBasicInfo);
 	}
 
     public void preSave(WorkStaffBasicInfo workStaffBasicInfo, HttpServletRequest request) throws IOException {

+ 11 - 0
src/main/resources/mappings/modules/sys/RoleDao.xml

@@ -573,4 +573,15 @@
 			and r.del_flag = '0'
 	</select>
 
+	<select id="getByOfficeId" resultType="Role" parameterType="String">
+		select id ,
+-- 		       office_id as office.id,
+		       name
+		from sys_role
+		<where>
+			office_id = #{officeId} and useable = '1' and del_flag = '0'
+		</where>
+
+	</select>
+
 </mapper>

+ 8 - 0
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -583,6 +583,14 @@
 		</foreach>
 	</insert>
 
+	<insert id="insertRole" parameterType="WorkStaffBasicInfo">
+		INSERT INTO
+		sys_user_role(user_id, role_id)
+		values
+		(#{userId},#{roleId})
+	</insert>
+
+
 	<!-- 更新用户信息  -->
 	<update id="updateUserInfo">
 		UPDATE sys_user SET

+ 2 - 2
src/main/webapp/WEB-INF/tags/sys/treeselect.tag

@@ -46,7 +46,7 @@
 		    area: ['300px', '420px'],
 		    title:"选择${title}",
 		    ajaxData:{selectIds: $("#${id}Id").val()},
-		    content: "${ctx}/tag/treeselect?url="+encodeURIComponent("${url}")+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}" ,
+		    content: "${ctx}/tag/treeselect?url="+encodeURIComponent("${url}")+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}&unit=${unit}" ,
 		    btn: ['确定', '关闭']
     	       ,yes: function(index, layero){ //或者使用btn1
 						var tree = layero.find("iframe")[0].contentWindow.tree;//h.find("iframe").contents();
@@ -84,7 +84,7 @@
 							names.push(nodes[i].name);//<c:if test="${!checked}">
 							break; // 如果为非复选框选择,则返回第一个选择  </c:if>
 						}
-						$("#${id}Id").val(ids.join(",").replace(/u_/ig,""));
+						$("#${id}Id").val(ids.join(",").replace(/u_/ig,"")).change();
 						$("#${id}Name").val(names.join(","));
 						$("#${id}Name").focus();
 						var rule="${rule}";

+ 34 - 2
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoForm.jsp

@@ -13,6 +13,7 @@
         }
     </style>
     <script type="text/javascript">
+        // var officeId;
         var validateForm;
         var existStaff = false;
         function doSubmit(index1){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
@@ -77,6 +78,29 @@
             cacuAge('${workStaffBasicInfo.idCard}','1');
 
             changeTryEndTime('${workStaffBasicInfo.status}');
+
+
+            $('#officeId').on("change",function(){
+                // $("#roleId").find("option:selected").remove();
+                // var maxIndex=$("#roleId option:last").attr("index")
+                // console.log(maxIndex)
+                $("#roleId").empty()
+                var officeId = $(this).val()
+                $.ajax({
+                type: 'POST',
+                url: '${ctx}/sys/role/getByOfficeId',
+                data: {'id':officeId},
+                success: function(result){
+                var data1 = result.data
+                var html = "";
+                for (var e in data1) {
+                html += '<option value=' + data1[e].id+ '>' + data1[e].name + '</option>'
+                }
+                $("#roleId").append(html);
+                }
+                });
+            })
+
         });
     </script>
     <script type="text/javascript">
@@ -254,6 +278,7 @@
                 $("#tryEndTimeSpan").html('');
             }
         }
+
     </script>
 </head>
 <body>
@@ -365,6 +390,13 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label"><span class="require-item">*</span>岗   位:</label>
+                    <div class="layui-input-block ">
+                        <select id="roleId" class="form-control simple-select required" name="roleId">
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>职    位:</label>
                     <div class="layui-input-block">
                         <form:select path="duty" class="form-control simple-select required">
@@ -411,9 +443,9 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label double-line"><span class="require-item">*</span>参加工作日期:</label>
+                    <label class="layui-form-label double-line">参加工作日期:</label>
                     <div class="layui-input-block">
-                        <input id="workDate" name="workDate" type="text" maxlength="20" readonly class="laydate-icondate form-control layui-input layer-date laydate-icon required"
+                        <input id="workDate" name="workDate" type="text" maxlength="20" readonly class="laydate-icondate form-control layui-input layer-date laydate-icon "
                                value="<fmt:formatDate value="${workStaffBasicInfo.workDate}" pattern="yyyy-MM"/>"/>
                     </div>
                 </div>