//转派配送工单
var transParms = decodeURIComponent(helper.request.queryString("edit_id")); //从上一个页面传过来的参数
var order_id; //工单 id
var order_ids = []; //工单 id 数组
var pro_id; //项目 id
var pro_ids = []; //项目 id 数组
var wcode; // 工单编号
$(function() {
autosize($('textarea'));
if (transParms) {
if (transParms.lastIndexOf('|') != '-1') {
var transParmsArr = transParms.substring(0, transParms.lastIndexOf('|')).split('|,');
$.each(transParmsArr, function(i, v) {
order_ids.push(v.split(',')[0]); //工单 id
pro_ids.push(v.split(',')[1]); //项目 id
});
pro_id = pro_ids[0]; //单个项目默认取第一个
//当有多个项目的时候(多个项目的人员都会 加到转派对象中)
pro_ids = helper.methods.unique(pro_ids);
getRoles().then(function(res){
$.each(pro_ids, function(i, v) {
helper.getDropList.getProUser(v, $('#task_transfer'), res && res.join(',')); //获取转派对象
});
});
$('#ensureTransferBtn').on('click', ensureTransfers); //批量转派
} else {
order_id = transParms.split(',')[0];
pro_id = transParms.split(',')[1];
wcode = transParms.split(',')[2];
$('#ensureTransferBtn').on('click', ensureTransfer); //单个转派
getRoles().then(function(res){
helper.getDropList.getProUser(pro_id, $('#task_transfer'), res && res.join(',')); //获取转派对象
});
}
}
});
//单个的确定转派
function ensureTransfer() {
if (!$.trim($('#task_transfer').val())) {
layer.confirm('请选择转派的对象!', {
icon: 2,
btn: ['确定'] //按钮
});
return;
}
$.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/assign", {
id: order_id, //是 string 配送工单id
touser: $('#task_transfer').val(), //是 string 转派至
channel: 1, // 是 int 渠道来源 1表示PC 2表示安卓 3表示IOS 4表示微信
// ishasten: $('#ishasten').find('input[type="radio"]:checked').val(), // 是 int 是否催办(0不催办1催办)
// // wostate: $('#task_state').find('input[type="radio"]:checked').val(),//是 int 工单状态:1已转派,3已处理,6挂起
// wostate: 1,//是 int 工单状态:1已转派,3已处理,6挂起
// des: $('#task_des').val(), //否 string 备注说明(处理内容)
}, function(data) {
data = JSON.parse(data);
if (data.state == "success") {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.layer.alert("您已经成功将编号为:
" + wcode +
"的工单
转派给:" + $('#task_transfer').find("option:selected").text() +
"", {
icon: 1
});
parent.$('#table_all').bootstrapTable('refresh');
}
});
}
//批量的确定转派
function ensureTransfers() {
if (!$.trim($('#task_transfer').val())) {
layer.confirm('请选择转派的对象!', {
icon: 2,
btn: ['确定'] //按钮
});
return;
}
$.post(huayi.config.callcenter_url + "distributionapi/api/DistriWorkOrder/assignmany", {
ids: order_ids, // 是 string[] 配送工单id
touser: $('#task_transfer').val(), // 是 string 指派人
channel: 1,// 是 int 渠道来源 1表示PC 2表示安卓 3表示IOS 4表示微信
// ishasten: $('#ishasten').find('input[type="radio"]:checked').val(), // 是 int 是否催办(0不催办1催办)
// wostate: $('#task_state').find('input[type="radio"]:checked').val(),//是 int 任务状态:1已转派,3已处理,6挂起
// wostate: 1, //是 int 任务状态:1已转派,3已处理,6挂起
// des: $('#task_des').val(), //否 string 备注说明(处理内容)
}, function(data) {
data = JSON.parse(data);
if (data.state == "success") {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.layer.alert("您已经成功将:
" + order_ids.length +
"个工单
批量转派给:" + $('#task_transfer').find("option:selected").text() +
"", {
icon: 1
});
parent.$('#table_all').bootstrapTable('refresh');
}
});
}
//岗位(角色)
function getRoles() {
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;
var 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].role_code);
break;
}
}
});
dtd.resolve(resRoleDatas); // 改变Deferred对象的执行状态
});
}
})
return dtd.promise(); // 返回promise对象
}
//获取字典中 班次角色
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对象
};