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 ?
常用联系人: { this.setState({ contact: e.target.value }) }} value={this.state.contact}> { this.setState({ financeNameSearch: e.target.value }); }} />
: null} {this.state.remarksVisible ? { this.setState({ remarksVisible: false }) }} onCancel={e => { this.setState({ remarksVisible: false }) }} width="400px" title={"备注"} footer="" className="admin-desc-content" >
{ this.setState({ remarks: e.target.value }); }} />
: null} ); } }); export default Assign;