import React from 'react';
import ReactDom from 'react-dom';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import './content.less';
import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, DatePicker, Modal, Upload,Popconfirm,AutoComplete } from 'antd';
import {patternOrganization,conditionOrganization,client,stick,auditStatusL,industry } from '../../../dataDic.js';
import {getPattern,getAchievementCategory,getboutique,getClient,getSocialAttribute,getCertification,getAuditStatus,getWhether,getStick,getIndustry} from '../../../tools.js';
const Organization=Form.create()(React.createClass({
loadData(pageNo) {
this.state.data = [];
this.setState({
loading: true,
ispage:pageNo,
});
let nameText=this.state.SuperArr;
let superText=(this.state.superId)?nameText[parseInt(this.state.superId)].id:undefined;
let nameTexts=this.state.SuperArrs;
let superTexts=(this.state.publishPage)?nameTexts[parseInt(this.state.publishPage)].id:undefined;
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/expert/listPublish',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
name: this.state.name, //成果名称
publishPlatform:superText,//发布子平台
publishClient:this.state.publishClient,//发布客户端
publishPage:superTexts,//发布页面
ifTop:this.state.ifTop,//是否置顶
},
success: function (data) {
let theArr = [];
if (!data.data || !data.data.list) {
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,//发布成果ID
achievementId:thisdata.expertId,//成果ID
publishPlatform:thisdata.publishPlatform,//发布子平台ID
platformName:thisdata.platformName,//发布子平台
publishClient:thisdata.publishClient.toString(),//发布客户端
publishPage:thisdata.publishPage,//发布页面
publishPageName:thisdata.publishPageName,//发布页面
ifTop:thisdata.ifTop.toString(),//是否置顶
industry:thisdata.industry,//行业
topNumber:thisdata.topNumber,//置顶编号
showNumber:thisdata.showNumber,//显示编号
publisher:thisdata.publisher,//发布人ID
publishTime:thisdata.publishTime,//发布时间
name:thisdata.name,//成果名称
publisherName:thisdata.publisherName,//发布人名称
publishTimeFormattedDate:thisdata.publishTimeFormattedDate,//发布时间
});
};
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
};
if(data.data&&data.data.list&&!data.data.list.length){
this.state.pagination.current=0
this.state.pagination.total=0
};
this.setState({
dataSource: theArr,
pagination: this.state.pagination
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
loadDatas(pageNo, apiUrl) {
this.state.data = [];
this.setState({
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/listAllPersonalCustomer',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
expertAudit:2,
type: this.state.typeSearch, //名称1
name: this.state.nameSearch,
status: this.state.statusSearch,
industry: this.state.industrySearch,
businessAudit: this.state.serviceCertificationSearch,
auditStatus: this.state.userCertificationSearch,
currentMemberStatus: this.state.currentMemberStatusSearch,
lvl: this.state.lvlSearch,
listed: this.state.listedSearch, //是否上市
highTechZone: this.state.highTechZoneSearch, //是否高新
startDate: this.state.releaseDate[0],
endDate: this.state.releaseDate[1],
isMember: this.state.isMemberSearch,
international: this.state.internationalSearch,
celebrity: this.state.celebritySearch,
expert: this.state.expertSearch,
industry: this.state.industrySearch,
shareType: this.state.shareTypeSearch,
},
success: function(data) {
let theArr = [];
if(data.error.length || data.data.list == "") {
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: thisdata.uid,
id: thisdata.uid,
type: thisdata.type,
name: thisdata.name,
status: thisdata.status,
contacts: thisdata.contacts,
contactMobile: thisdata.contactMobile,
industry: thisdata.industry,
createTime: thisdata.createTime,
businessAudit: thisdata.businessAudit,
auditStatus: thisdata.auditStatus,
lvl: thisdata.lvl,
shareType: thisdata.shareType,
isMember: thisdata.isMember,
consultant: thisdata.consultant,
societyTag: thisdata.societyTag,
currentMemberStatus: thisdata.currentMemberStatus,
international: thisdata.international,
listed: thisdata.listed,
international: thisdata.international,
expert: thisdata.expert,
celebrity: thisdata.celebrity,
adminName: thisdata.adminName,
releaseStatus: thisdata.releaseStatus,
highTechZone: thisdata.highTechZone,
locationProvince: thisdata.province ? thisdata.province + '-' + thisdata.city || '' + '-' + thisdata.area : '--'
});
};
this.state.paginations.current = data.data.pageNo ;
this.state.paginations.total = data.data.totalCount ;
};
this.setState({
dataSourcesli: theArr,
paginations: this.state.paginations,
selectedRowKeys:[]
});
}.bind(this),
}).always(function() {
this.setState({
loading: false,
visible: true
});
}.bind(this));
},
getInitialState() {
return {
searchMore: true,
selectedRowKeys: [],
selectedRowKeysli:[],
selectedRows: [],
releaseDate: [],
releaseDateS: [],
loading: false,
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
paginations: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadDatas(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
columns: [
{
title: '专家名称',
dataIndex: 'name',
key: 'name',
},{
title: '行业',
dataIndex: 'industry',
key: 'industry',
render: text => { return getIndustry(text) }
}, {
title: '发布子平台',
dataIndex: 'platformName',
key: 'platformName',
},{
title: '发布客户端',
dataIndex: 'publishClient',
key: 'publishClient',
render: text => { return getClient(text) }
}, {
title: '发布页面',
dataIndex: 'publishPageName',
key: 'publishPageName',
},{
title: '是否置顶',
dataIndex: 'ifTop',
key: 'ifTop',
render: text => { return getStick(text) }
}, {
title: '展示序号',
dataIndex: 'showNumber',
key: 'showNumber',
}, {
title: '置顶序号',
dataIndex: 'topNumber',
key: 'topNumber',
}, {
title: '发布人',
dataIndex: 'publisherName',
key: 'publisherName',
}, {
title: '发布时间',
dataIndex: 'publishTimeFormattedDate',
key: 'publishTimeFormattedDate',
}, {
title: '操作',
dataIndex: 'ee',
key: 'ee',
render: (text, record, index) => {
return
{this.examine(record)}} okText="确认" cancelText="取消">
}
}
],
dataSource: [],
searchTime: [,],
column: [{
title: '专家姓名',
dataIndex: 'name',
key: 'name',
},
{
title: '公共客户',
dataIndex: 'shareType',
key: 'shareType',
render: (text, record) => { return record.shareType == '1' ? 公共客户 : 个人客户 }
},
{
title: '行业',
dataIndex: 'industry',
key: 'industry',
},
{
title: '社会性质',
dataIndex: 'societyTag',
key: 'societyTag',
render: text => { return getSocialAttribute(text) }
},
{
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
},{
title: '所属人',
dataIndex: 'adminName',
key: 'adminName',
},
{
title: '业务认证',
dataIndex: 'businessAudit',
key: 'businessAudit',
render: text => { return getCertification(text) }
},
{
title: '实名认证',
dataIndex: 'auditStatus',
key: 'auditStatus',
render: text => { return getAuditStatus(text) }
},
{
title: '是否国际',
dataIndex: 'international',
key: 'international',
render: text => { return getWhether(text) }
}
],
dataSourcesli: [],
searchTime: [,]
};
},
componentWillMount() {
this.selectSuperIds();
//行业
let intentionalArr = [];
industry.map(function(item) {
intentionalArr.push(
{item.key}
)
});
this.state.intentionalOption = intentionalArr;
},
examine(record) {
this.setState({
selectedRowKeys: [],
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/expert/deletePublish',
data: {
id:record.id,
}
}).done(function (data) {
if (!data.error.length) {
message.success('操作成功');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData(this.state.ispage);
}.bind(this));
},
//获取发布子平台
selectSuperId() {
this.state.data = []
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/achievement/getBranchInformation",
data:{
},
success: function (data) {
let theArr = [];
let thedata=data.data;
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
var contactIds=[];
for(var i=0;i{theData.platformName}
);
};
this.setState({
SuperArr:thedata,
contactsOption: theArr,
orderStatusOptions:data.data,
});
}.bind(this),
}).always(function () {
this.loadData();
this.setState({
loading: false
});
}.bind(this));
},
//获取发布页面
selectSuperIds() {
this.state.data = []
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/expert/getPublishPage",
data:{
},
success: function (data) {
let theArr = [];
let thedata=data.data;
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
var contactIds=[];
for(var i=0;i{theData.name}
);
};
this.setState({
SuperArrs:thedata,
contactsOptions: theArr,
orderStatusOptions:data.data,
});
}.bind(this),
}).always(function () {
this.selectSuperId();
this.setState({
loading: false
});
}.bind(this));
},
//编辑部门,保存
edithandleSubmit(e){
e.preventDefault();
if(!this.state.editifTop){
message.warning('请确认是否置顶');
return false;
}
let topNumbers=(this.state.edittopNumber==9999999)?undefined:this.state.edittopNumber;
topNumbers=topNumbers?topNumbers:undefined;
if(this.state.editifTop==0){
if(!topNumbers){
message.warning('请输入置顶序号');
return false;
}
let b=this.state.edittopNumber.toString().split('');
for(var i=0;i {
if (!err) {
this.setState({
loading: true
});
let nameText=this.state.SuperArr;
let superText=nameText[parseInt(this.state.publishPlatform)].id;
let nameTexts=this.state.SuperArrs;
let superTexts=nameTexts[parseInt(this.state.publishPage)].id;
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/expert/addExpertPublish',
data:{
ExpertId:this.state.selectedRowKeysli?this.state.selectedRowKeysli.join(","):undefined,//成果ID
publishPlatform:superText,//发布平台
publishClient:this.state.publishClient,//发布客户端
publishPage:superTexts, //发布页面
ifTop:this.state.ifTop,//是否置顶
topNumber:this.state.topNumber,//置顶序号
showNumber:this.state.showNumber,//展示序号
}
}).done(function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success('保存成功!');
this.handleCancel();
this.reset();
} else {
message.warning(data.error[0].message);
}
}.bind(this));
}
});
},
//主管初始加载(自动补全)
supervisor(e){
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectName",
data:{
name:e
},
success: function (data) {
let thedata=data.data;
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
this.setState({
customerArr:thedata,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//上级主管输入框失去焦点是判断客户是否存在
selectAuto(value,options){
this.setState({
managerIdOrganization:value
})
},
//失去焦点时
blurChange(e){
// let theType='';
// let contactLists=this.state.customerArr||[];
// if (e) {
// contactLists.map(function (item) {
// if (item.name == e.toString()) {
// theType = item.id;
// }
// });
// }
this.setState({
theTypes:e
})
},
//值改变时请求客户名称
httpChange(e){
if(e.length>=2){
this.supervisor(e);
}
this.setState({
managerIdOrganization:e
})
},
addClick() {
this.state.name = undefined;//成果名称清零
this.state.publishPlatform = undefined;//发布子平台清零
this.state.publishClient = undefined;//发布客户端清零
this.state.publishPage = undefined;//发布页面清零
this.state.ifTop = undefined;//是否置顶清零
this.state.topNumber = undefined;//置顶序号清零
this.state.showNumber = undefined;//展示序号清零
this.state.selectedRowKeysli=undefined;//选定的成果ID清零
this.state.RowData = {};
this.selectSuperId();
this.loadDatas();
},
editClick() {
this.state.RowData = {};
this.setState({
editvisible: true
});
},
handleCancel() {
this.setState({ visible: false })
},
edithandleCancel() {
this.setState({ editvisible: false })
},
search() {
this.loadData();
},
searchs() {
this.loadDatas();
},
//把搜索的部分置零
reset() {
this.state.name = undefined;//成果名称清零
this.state.superId = undefined;//发布子平台清零
this.state.publishClient = undefined;//发布客户端清零
this.state.publishPage = undefined;//发布页面清零
this.state.ifTop = undefined;//是否置顶清零
this.selectSuperId();
},
resets() {
this.state.expertSearch = undefined;
this.state.celebritySearch = undefined;
this.state.shareTypeSearch = undefined;
this.state.typeSearch = undefined; //名称1
this.state.nameSearch = '';
this.state.addressSearch = [];
this.state.provinceSearch = undefined;
this.state.citySearch = undefined;
this.state.statusSearch = undefined;
this.state.contactsSearch = undefined;
this.state.contactMobileSearch = undefined;
this.state.industrySearch = undefined;
this.state.serviceCertificationSearch = undefined;
this.state.userCertificationSearch = undefined;
this.state.currentMemberStatusSearch = undefined;
this.state.lvlSearch = undefined;
this.state.listedSearch = undefined;
this.state.highTechZoneSearch = undefined;
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
this.loadDatas();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore
});
},
render() {
const FormItem = Form.Item
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
},
onSelect: (recordt, selected, selectedRows) => {
this.setState({
recordt:recordt.id
})
},
};
const rowSelections = {
selectedRowKeysli: this.state.selectedRowKeysli,
onChange: (selectedRowKeysli, selectedRows) => {
this.setState({
selectedRows: selectedRows,
selectedRowKeysli: selectedRowKeysli
});
},
onSelect: (recordt, selected, selectedRows) => {
this.setState({
recordt:recordt.id
})
},
};
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const { getFieldDecorator } = this.props.form;
const hasSelected = this.state.selectedRowKeys.length > 0;
const { RangePicker } = DatePicker;
const dataSources=this.state.customerArr || [];
const options = dataSources.map((group,index) =>
)
return (
);
}
}));
export default Organization;