var arr = []; layui.use(['table', 'laytpl', 'form'], function () { var table = layui.table , laytpl = layui.laytpl , form = layui.form; var tplZcSelectView = zcSelectScript.innerHTML, viewZcSelectView = document.getElementById('zcSelectView'); // 获取父页传来的项目ID var projectId = GetQueryString("project_id"); // 获取研究专长 $.ajax({ type: "GET", dataType: "json", url: "/dsBase/expert/getExpertZc", success: function (data) { laytpl(tplZcSelectView).render(data, function (html) { viewZcSelectView.innerHTML = html; }); form.render('select'); } }); // 获取项目信息 $.ajax({ type: "GET", dataType: "json", url: "/dsBase/gtzz/getSubjectInfo", data: { subject_id: projectId }, success: function (data) { var projectInfoTpl = projectInfoScript.innerHTML, projectInfoView = document.getElementById('projectInfoView'); laytpl(projectInfoTpl).render(data, function (html) { projectInfoView.innerHTML = html; }); } }); //获取专家 $.ajax({ type: "GET", dataType: "json", url: "/dsBase/expert/getSubjectExpert", data: { subject_id: projectId, step_code: '0307' }, success: function (res) { for (var i in res.data) { var _data = { person_id: res.data[i].person_id, person_name: res.data[i].person_name, bureau_name: res.data[i].bureau_name, is_fuzeren: res.data[i].is_master }; arr.push(_data); } renderTable(); reloadZhuanJiaView(); } }); function renderTable() { table.render({ elem: '#zhuanjiaListTableView' , url: '/dsBase/expert/getExpertList' , where: { zc_id: "-1" } , cols: [[ { align: 'center', field: 'person_name', title: '姓名', width: '15%' } , { align: 'center', field: 'bureau_name', title: '所属单位', width: '42%' } , { align: 'center', field: 'zc_name', title: '研究专长', width: '25%' } , { align: 'center', field: 'age', title: '年龄', width: '10%' } , { align: 'center', type: 'checkbox', title: '年龄', width: '8%' } ]] , height: "275" , parseData: function (res) { //res 即为原始返回的数据 var d = new Date(); var nowYear = d.getFullYear(); for (var i in res.data) { if (arr.some(item => item.person_id === res.data[i].person_id)) { res.data[i]["LAY_CHECKED"] = true; } res.data[i]["age"] = nowYear - res.data[i]["birthday"].split("-")[0]; } return { "code": res.code, "msg": res.msg, "count": res.count, "data": res.data }; } , done: function (res) { // 禁用表头中的全选 $('th[data-field="4"] input[type="checkbox"]').prop('disabled', true); for (let i in res.data) { // 给checkbox增加一个ID为取消选中准备 $('td[data-field="4"] input[type="checkbox"]').eq(i).attr('id', 'chk_' + res.data[i]["person_id"]); } form.render('checkbox'); } }); } var tpl = selectScript.innerHTML, view = document.getElementById('selectView'); // 重新加载已选专家的列表 function reloadZhuanJiaView() { laytpl(tpl).render(arr, function (html) { view.innerHTML = html; }); } table.on('checkbox(tableFilter)', function (obj) { var data = obj.data; var sel = obj.checked; var _data = { person_id: data.person_id, person_name: data.person_name, bureau_name: data.bureau_name, is_fuzeren: 0 }; if (sel) { arr.push(_data); reloadZhuanJiaView(); } else { removeAarry(data.person_id); reloadZhuanJiaView(); } }); // 表格重载 window.reloadtable = function () { table.reload('zhuanjiaListTableView', { where: { zc_id: $("#zcSelect").val() , keyword: $("#keyWord").val() } }); }; // 点击查询 $("#search").click(function () { reloadtable(); }); // 确定(保存) $("#save").click(function () { if (arr.length < 2) { layer.msg("专家人数不能少于2人!", { icon: 2, time: 1500, shade: [0.1, '#000', true] }); return; } if (arr.some(item => item.is_fuzeren === 1)) { var personIds = ""; var masterId = ""; for (var i = 0; i < arr.length; i++) { if (arr[i].is_fuzeren === 1) { masterId = arr[i].person_id; } else { personIds = personIds + arr[i].person_id + ","; } } personIds = personIds.substring(0, personIds.length - 1); $.ajax({ type: "POST", dataType: "json", url: "/dsBase/expert/saveSubjectExpert", data: { subject_id: projectId, step_code: '0307', person_ids: personIds, master_id: masterId }, success: function (data) { if (data.success) { layer.msg("设置成功", { icon: 1, time: 1300, shade: [0.1, '#000', true] }, function () { var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); window.parent.parentTableRender('0306'); }); } else { alert(data.message); } } }); } else { layer.msg("请设置负责人!", { icon: 2, time: 1500, shade: [0.1, '#000', true] }); } }); // 取消(关闭) $("#close").click(function () { var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); }); // 设置负责人 window.setFuzeren = function (person_id) { arr.some(item => { if (item.is_fuzeren === 1) { item.is_fuzeren = 0; } }); arr.some(item => { if (item.person_id === person_id) { item.is_fuzeren = 1; } }); reloadZhuanJiaView(); }; // 移除专家 window.removeZhuanJia = function (person_id) { removeAarry(person_id); reloadZhuanJiaView(); // 设置表格中的checkbox为取消选中(设置属性要用prop) $("#chk_" + person_id).prop("checked", false); // 重新加载 form.render('checkbox'); } // 根据人员ID移除专家数组中的元素 function removeAarry(person_id) { for (var i = 0; i < arr.length; i++) { if (arr[i].person_id === person_id) { index = i; } } arr.splice(index, 1); } // 获取参数值 function GetQueryString(name, istop) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (typeof (istop) != "undefined") r = top.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } });