| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- /**
- * 添加或修改班别
- * */
- var resRoleDatas = []; //角色岗位的返回值
- $(function() {
- autosize($('textarea'));
- init();
- });
- function init() {
- var edit_id = helper.request.queryString("edit_id");
- //项目名称 岗位(角色)数据
- $.when(helper.getDropList.getProlistDrop($('#pro_title')),
- getRoles($('#roleList')))
- .then(function() {
- if (edit_id) {
- getDetail();
- }
- $('#save_btns').on('click', btn_save);
- });
- laydate.render({
- elem: '#ban_times',
- range: '~',
- type: 'time',
- theme: '#249fea',
- });
- }
- //获取班别信息
- function getDetail() {
- var edit_id = helper.request.queryString("edit_id");
- $.getJSON(huayi.config.callcenter_url + "signtokenapi/api/ClassGroup/getdetailes", {
- id: edit_id,
- }, function(data) {
- if (data.state == "success") {
- var res = data.data;
- $('#pro_title').selectpicker('val', res.projectid); // 是 string 项目名称id
- $('#ban_name').val(res.name); // 是 string 名称
- $('#ban_code').val(res.code); // 是 string 代码
- $('#ban_times').val(res.starttime + ' ~ ' + res.endtime); // 是 string 开始时间 是 string 结束时间
- $('#iswork').find('input[name="iswork_flag"][value="' + res.iswork + '"]').prop("checked", "checked"); //否 bool 是否值班时间段(是值班true)
- var roleList = res.roleList;
- var roleCheckboxs = $('#roleList').find('input[type="checkbox"]');
- if (roleList && roleList.length > 0) {
- $.each(roleList, function(j, v) {
- for (var i = 0; i < roleCheckboxs.length; i++) {
- if (v.roleid === $(roleCheckboxs[i]).val()) {
- $(roleCheckboxs[i]).prop('checked', 'checked');
- break;
- }
- }
- });
- }
- $('#remark').val(res.remark); // 备注
- }
- });
- }
- //保存班别信息
- function btn_save() {
- var wURL, loadIndex;
- var edit_id = helper.request.queryString("edit_id");
- if (edit_id) {
- wURL = "signtokenapi/api/ClassGroup/update";
- } else {
- wURL = "signtokenapi/api/ClassGroup/add";
- }
- if (!$.trim($('#pro_title').val())) {
- layer.confirm('项目名称不允许为空!', {
- icon: 2,
- btn: ['确定'] //按钮
- });
- return;
- }
- if (!$.trim($('#ban_name').val())) {
- layer.confirm('名称不允许为空!', {
- icon: 2,
- btn: ['确定'] //按钮
- });
- return;
- }
- if (!$.trim($('#ban_code').val())) {
- layer.confirm('代码不允许为空!', {
- icon: 2,
- btn: ['确定'] //按钮
- });
- return;
- }
- if (!$.trim($('#ban_times').val())) {
- layer.confirm('起止时间不允许为空!', {
- icon: 2,
- btn: ['确定'] //按钮
- });
- return;
- }
- var roleLists = getCheckboxData($('#roleList'));
- if (roleLists.length === 0) {
- layer.confirm('请选择岗位(角色)!', {
- icon: 2,
- btn: ['确定'] //按钮
- });
- return;
- }
- $.ajax({
- type: 'post',
- url: huayi.config.callcenter_url + wURL,
- dataType: 'json',
- async: true,
- beforeSend: function() { //触发ajax请求开始时执行
- $('#save_btns').attr("disabled", true);
- $('#save_btns').text('保存中...');
- loadIndex = layer.load();
- },
- data: {
- id: edit_id, // 否 string id
- projectid: $('#pro_title').val(), // 是 string 项目名称id
- name: $('#ban_name').val(), // 是 string 名称
- code: $('#ban_code').val(), // 是 string 代码
- starttime: $('#ban_times').val() && $('#ban_times').val().split('~')[0], // 是 string 开始时间
- endtime: $('#ban_times').val() && $('#ban_times').val().split('~')[1], // 是 string 结束时间
- roleList: roleLists, // 是 string List<ClassGroupRoleList>
- remark: helper.filter.delHtmlTag($('#remark').val()), // 否 string 备注
- iswork: $('#iswork').find('input[name="iswork_flag"]:checked').val() //否 bool 是否值班时间段(是值班true)
- },
- success: function(data) {
- layer.close(loadIndex);
- if (data.state === "success") {
- var index = parent.layer.getFrameIndex(window.name);
- parent.layer.close(index);
- parent.$('#table_all').bootstrapTable('refresh');
- parent.layer.msg("保存成功");
- } else {
- $('#save_btns').attr("disabled", false);
- $('#save_btns').text('保存');
- }
- },
- error: function(textStatus) {
- layer.close(loadIndex);
- layer.confirm('网络繁忙,请稍后再试...', {
- icon: 7,
- closeBtn: 0,
- btn: ['确定'] //按钮
- });
- $('#save_btns').attr("disabled", false);
- $('#save_btns').text('保存');
- },
- complete: function(XMLHttpRequest, textStatus) {
- layer.close(loadIndex);
- if (textStatus == 'timeout') {
- var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
- xmlhttp.abort();
- layer.confirm('网络超时,请稍后再试...', {
- icon: 7,
- closeBtn: 0,
- btn: ['确定'] //按钮
- });
- }
- $('#save_btns').attr("disabled", false);
- $('#save_btns').text('保存');
- },
- });
- }
- //岗位(角色)
- function getRoles(el) {
- var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
- $.getJSON(huayi.config.callcenter_url + "configurationapi/api/RoleInfo/getlistdrop", function(data) {
- if (data.state.toLowerCase() === "success") {
- getRoleByDic().then(function(res) {
- var roles = data.data;
- el.empty();
- resRoleDatas = [];
- $.each(res, function(j, v){
- for (var i = roles.length - 1; i >= 0; i--) {
- if(roles[i].role_code === v.name){
- resRoleDatas.push(roles[i]);
- break;
- }
- }
- });
- for (var i = 0; i < resRoleDatas.length; i++) {
- var h = '<label class="checkbox-inline">' +
- '<input type="checkbox" value="' + resRoleDatas[i].id + '" >' + resRoleDatas[i].role_name +
- '</label>';
- $(el).prepend(h);
- }
- });
- dtd.resolve(); // 改变Deferred对象的执行状态
- }
- })
- return dtd.promise(); // 返回promise对象
- }
- //获取岗位(角色)的数据
- function getCheckboxData(el) {
- var banData = [];
- var checkEl = el.find(':checkbox:checked');
- if (checkEl.length > 0) {
- for (var i = 0; i < checkEl.length; i++) {
- for (var j = 0; j < resRoleDatas.length; j++) {
- if ($(checkEl[i]).val() === resRoleDatas[j].id) {
- banData.push({
- roleid: resRoleDatas[j].id,
- rolecode: resRoleDatas[j].role_code,
- rolename: resRoleDatas[j].role_name
- });
- break;
- }
- }
- }
- }
- return banData;
- }
- //获取字典中 班次角色
- function getRoleByDic() {
- var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
- $.ajax({
- type: "get",
- url: huayi.config.callcenter_url + "configurationapi/api/dictionary/getdicvaluelistdrop",
- dataType: 'json',
- async: true,
- data: {
- code: 'SSY_BCJS',
- },
- success: function(data) {
- var res = data.data;
- dtd.resolve(res); // 改变Deferred对象的执行状态
- }
- });
- return dtd.promise(); // 返回promise对象
- };
|