1、前端页面定义调动人标签,
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">调动人</label>
<div class="col-sm-3">
<select class="chosen-select" id="form-field-select-3" data-placeholder="员工姓名">
<option value=""></option>
</select>
</div>
@Html.HiddenFor(x => x.Diaodongren)
@Html.HiddenFor(x => x.DiaodongrenXingming)
<label class="col-sm-2 control-label no-padding-right">调动前职位</label>
<div class="col-sm-3">
@Html.TextBoxFor(x => x.Liucheng.Qiangangwei, htmlAttributes: new { @class = "form-control" })
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label no-padding-right">调动前Bumen</label>
<div class="col-sm-3">
@Html.TextBoxFor(x => x.Liucheng.Qianbumen, htmlAttributes: new { @class = "form-control" })
</div>
<label class="col-sm-2 control-label no-padding-right">调动前Bumensub</label>
<div class="col-sm-3">
@Html.TextBoxFor(x => x.Liucheng.Qianbumensub, htmlAttributes: new { @class = "form-control" })
</div>
</div>
2.用id绑定后端读出到的数据,获取到全部员工姓名
//获取全部员工姓名
$.post("@Url.Action("GetYuanGong")", function (data) {
if (data.length > 0) {
//console.log(data);
for (var i = 0; i < data.length; i++) {
$("#form-field-select-3").append("<option value=\"" + data[i].Zhanghao + "\">" + data[i].Xingming + "</option>");
}
}
$('.chosen-select').chosen({ allow_single_deselect: true });
$(window)
.off('resize.chosen')
.on('resize.chosen', function () {
$('.chosen-select').each(function () {
var $this = $(this);
$this.next().css({ 'width': "200px" });
})
}).trigger('resize.chosen');
});
[HttpPost]
public JsonResult GetYuanGong()
{
List<User> yuangonglist = _yuanGongXinXiYeWu.GetFenYeList(new UserSearchDto()).List;
return Json(yuangonglist);
}
/// <summary>
/// 得到对象实体
/// </summary>
public FenYeJieGuoDto<List<User>> GetFenYeList(UserSearchDto searchDto)
{
if (searchDto == null)
return null;
StringBuilder sqlList = new StringBuilder("select * from yuangongxinxi ");
StringBuilder sqlCount = new StringBuilder("select count(Id) from yuangongxinxi ");
FenYeJieGuoDto<List<User>> fenYeJieGuoDto = new FenYeJieGuoDto<List<User>>();
List<string> conditions = new List<string>();
List<MySqlParameter> parameters = new List<MySqlParameter>();
SetConditionsAndParameters(searchDto, conditions, parameters);
if (conditions.Count > 0)
{
sqlList.AppendFormat(" where {0}", string.Join(" and ", conditions));
sqlCount.AppendFormat(" where {0}", string.Join(" and ", conditions));
}
//分页 一定要用在sql最后面
if (searchDto.HuoQuHang != null && searchDto.HuoQuHang.Value > 0)
{
sqlList.Append(" order by Bumensub limit @TiaoGuoHang,@HuoQuHang");
parameters.Add(new MySqlParameter("@TiaoGuoHang", searchDto.TiaoGuoHang ?? 0));
parameters.Add(new MySqlParameter("@HuoQuHang", searchDto.HuoQuHang));
}
string sql = string.Format("{0};{1}", sqlCount.ToString(), sqlList.ToString());
var ds = MySqlHelper.ExecuteDataset(_connectionString, sql, parameters.ToArray());
if (ds == null)
{
fenYeJieGuoDto.Total = 0;
fenYeJieGuoDto.List = new List<User>();
}
else
{
fenYeJieGuoDto.Total = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
fenYeJieGuoDto.List = DataTableToModel(ds.Tables[1]);
}
return fenYeJieGuoDto;
}
3、用下拉列表的change方法,取到下拉列表选中的值(员工姓名),并且将该值传递到后端,取出该值(员工姓名)对应的其他值(该员工所在部门和职位)
$("#form-field-select-3").change(function () {
$("#Diaodongren").val($(this).val());
$("#DiaodongrenXingming").val($(this).find("option:selected").text());
$.post("@Url.Action("GetDiaoDongRen")", { Zhanghao: $("#Diaodongren").val(), Xingming: $("#DiaodongrenXingming").val() }, function (data) {
// console.log(data);
$("#Liucheng_Qianbumen").val(data.Bumen);
$("#Liucheng_Qianbumensub").val(data.Bumensub);
$("#Liucheng_Qiangangwei").val(data.Zhiwei);
});
});
4、将员工姓名传递到后端,并取出相对应的部门和职位。后端以Json的格式传递到前端。
[HttpPost]
public JsonResult GetDiaoDongRen(string Zhanghao, string Xingming)
{
YuanGongXinXiYeWu _yuanGongXinXiYeWu = new YuanGongXinXiYeWu();
User diaodongren = _yuanGongXinXiYeWu.GetUser(Zhanghao);
return Json(diaodongren, JsonRequestBehavior.AllowGet);
}
/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="zhanghao"></param>
/// <returns></returns>
public User GetUser(string zhanghao)
{
MySqlParameter[] parameter = { new MySqlParameter("@Zhanghao", zhanghao) };
var ds = MySqlHelper.ExecuteDataset(_connectionString, "SELECT * FROM yuangongxinxi where Zhanghao=@Zhanghao", parameter);
if (ds != null && ds.Tables.Count > 0)
return DataTableToModel(ds.Tables[0])?.FirstOrDefault();
return null;
}
private List<User> DataTableToModel(DataTable dt)
{
List<User> list = new List<User>();
if (dt == null || dt.Rows.Count <= 0)
return list;
List<string> fuzerenList = GetBumenFZR();
for (int i = 0; i < dt.Rows.Count; i++)
{
User user = new User();
user.Id = Convert.ToInt32(dt.Rows[i]["Id"]);
user.Zhanghao = dt.Rows[i]["Zhanghao"].ToString();
user.Xingming = dt.Rows[i]["Xingming"].ToString();
user.Bumen = dt.Rows[i]["Bumen"]?.ToString();
user.Bumensub = dt.Rows[i]["Bumensub"]?.ToString();
user.Youxiang = dt.Rows[i]["Youxiang"]?.ToString();
user.Quanxian = dt.Rows[i]["Quanxian"]?.ToString();
user.isBumenfuzeren = fuzerenList.Contains(dt.Rows[i]["Zhanghao"].ToString()) && user.Bumensub != "商务关系";
user.Zhiwei = dt.Rows[i]["Zhiwei"]?.ToString();
user.Zuihoudenglu = dt.Rows[i]["Zuihoudenglu"]?.ToString();
list.Add(user);
}
return list;
}