import React from 'react';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import { Form, Radio, Button, Input, Select, Spin, Table, message, Modal, Popconfirm } from 'antd';
import { getPost } from '@/tools';
const Assign = React.createClass({
departmentList() {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectSuperId",
data: {
},
success: function (data) {
let thedata = data.data;
let theArr = [];
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
} else {
thedata.map(function (item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id,
})
})
}
this.setState({
departmentArr: theArr,
})
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
getInitialState() {
return {
contact: 0,
selectedRows: [],
searchMore: true,
loading: false,
visible: false,
showDesc: false,
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
userList: [
{
title: '用户姓名',
dataIndex: 'name',
key: 'name',
width: 100
}, {
title: '部门机构',
dataIndex: 'departmentName',
key: 'departmentName',
width: 150,
render: text => {
return text && text.length > 12 ? {text.substr(0, 12) + '...'} : text
}
}, {
title: '职务',
dataIndex: 'position',
key: 'position',
width: 100,
}, {
title: '联系手机',
dataIndex: 'contactMobile',
key: 'contactMobile',
width: 100
}, {
title: '操作',
dataIndex: 'abc',
key: 'abc',
width: 100,
render: (text, record, index) => {
if (this.props.data.length) {
return (
// {this.confirmSelect1(record)}} okText="确认" cancelText="取消">
//
//
{ this.setState({ remarksVisible: true, remarks: "", fn: this.confirmSelect1, record }) }} okText="确认" cancelText="取消">
)
} else {
return (
// { this.confirmSelect(record) }} okText="确认" cancelText="取消">
//
//
{ this.setState({ remarksVisible: true, remarks: "", fn: this.confirmSelect, record }) }} okText="确认" cancelText="取消">
)
}
}
}
],
dataSource: [],
};
},
//操作分配
confirmDelet(index) {
this.setState({
orderNos: index.orderNo,
});
},
onCancel() {
this.setState({
visible: false
})
this.props.closeDesc(false, false);
},
onShow() {
this.setState({
visible: false,
});
this.props.closeDesc(false, true);
},
//分配对象列表
contactList(item = {}, nub) {
this.setState({
loading: true
});
let api = !nub ? '/api/admin/frequentContactsList' : '/api/admin/superviser/adminList';
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + api,
data: {
pageNo: 1,
pageSize: 99,
departmentId: this.state.departmenttList,
name: this.state.financeNameSearch,
roleName: this.props.roleName,
status: !nub ? undefined : 0,//不是常用联系人时 只要需要查询账号正常的咨询师
},
success: function (data) {
let theArr = [];
if (!data.data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
for (let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push({
key: i,
id: thisdata.id,
contactId: thisdata.contactId,
userNo: thisdata.userNo,
name: thisdata.name,
departmentName: thisdata.departmentName,
departmentId: thisdata.departmentId,
position: thisdata.roles[0],
contactMobile: thisdata.contactMobile,
});
};
};
this.setState({
distributionList: theArr,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//选定对象
confirmSelect(record) {
if (!this.state.remarks) {
message.warning("请填写备注信息")
return
}
if (!this.state.remarks.replace(/\s+/g, '')) {
message.warning("请填写备注信息");
return;
}
this.setState({
loading: true
});
$.ajax({
method: this.props.requestMethod,
dataType: "json",
crossDomain: false,
url: globalConfig.context + this.props.selApi,
// data:{
// taskId:this.props.data.id,//任务ID
// taskReceiverId:this.state.contact?record.id:record.contactId,//分配人物ID
// specially:this.props.specially,//是否是咨询师管理员
// orderNo:this.state.orderNo,
// financeId: this.state.contact?record.id:record.contactId, //分配人物id
// approval:this.props.data.approval, //是否特批
// newFinance:this.state.contact?record.id:record.contactId
//
// }
data: this.judge(this.props, record)
}).done(function (data) {
if (!data.error.length) {
message.success('派单成功');
this.setState({
remarksVisible: false
})
this.onShow();
if (this.props.reset) {
this.props.reset()
}
} else {
message.warning(data.error[0].message);
};
this.setState({
loading: false,
});
}.bind(this));
},
confirmSelect1(record) {
if (this.state.remarks == "") {
message.warning("请填写备注信息")
return
}
let orderNo = this.props.data.join(",")
this.setState({
loading: true
});
$.ajax({
method: this.props.requestMethod,
dataType: "json",
crossDomain: false,
url: globalConfig.context + this.props.selApi,
// data:{
// taskId:this.props.data.id,//任务ID
// taskReceiverId:this.state.contact?record.id:record.contactId,//分配人物ID
// specially:this.props.specially,//是否是咨询师管理员
// orderNo:this.state.orderNo,
// financeId: this.state.contact?record.id:record.contactId, //分配人物id
// approval:this.props.data.approval, //是否特批
// newFinance:this.state.contact?record.id:record.contactId
//
// }
data: {
orderNo,
financeId: record.id,
remarks: this.state.remarks
}
}).done(
function (data) {
if (!data.error.length) {
message.success("派单成功");
this.onShow();
this.setState({
remarksVisible: false
})
if (this.props.reset) {
this.props.reset();
}
} else {
message.warning(data.error[0].message);
}
this.setState({
loading: false
});
}.bind(this)
);
},
/* 区分分派和两种转交 */
judge(props, record) {
if (props.fenpaiData === 8) {
return {
taskId: props.data.id,//任务ID
taskReceiverId: this.state.contact ? record.id : record.contactId,//分配人物ID
remarks: this.state.remarks,
type: this.props.type,
};
} else if (props.fenpaiData === 4) {
return {
orderNo: this.state.orderNo,
financeId: this.state.contact ? record.id : record.contactId, //分配人物id
approval: props.data.approval, //是否特批
remarks: this.state.remarks
};
} else {
return {
orderNo: this.state.orderNo,
newFinance: this.state.contact ? record.id : record.contactId,
remarks: this.state.remarks
};
}
},
searchOrder() {
this.contactList({}, this.state.contact);
},
resetOrder() {
this.state.departmenttList = undefined;
this.state.financeNameSearch = '';
this.state.contact = 0;
this.setState({
distributionList: []
});
},
//初始加载组件,和主页面一起加载
componentDidMount() { },
//组件调用初始加载函数,可用条件控制,在调用组件时可以拿到参数
componentWillReceiveProps(nextProps) {
this.state.visible = nextProps.showDesc;
if (nextProps.showDesc) {
this.contactList(nextProps, 0);
this.departmentList()
this.setState({
orderNo: nextProps.data.orderNo
})
}
this.setState({
contact: 0
})
// console.log("kan", this.props.specially);
// console.log("kan22", this.state);
},
render() {
const FormItem = Form.Item;
let departmentArr = this.state.departmentArr || [];
return (
{this.state.visible ?
: null}
{this.state.remarksVisible ?
{
this.setState({
remarksVisible: false
})
}}
onCancel={e => {
this.setState({
remarksVisible: false
})
}}
width="400px"
title={"备注"}
footer=""
className="admin-desc-content"
>
: null}
);
}
});
export default Assign;