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,
Tabs
} from 'antd';
import {patternOrganization,conditionOrganization,client,stick} from '../../dataDic.js';
import {getPattern,getAchievementCategory,getboutique,getClient,getStick} from '../../tools.js';
import {ChooseList} from "../order/orderNew/chooseList";
const TabPane = Tabs.TabPane;
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/demand/listPublish',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
name: this.state.name, //需求名称
employerName: this.state.employerName, //需求雇主名称
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.demandId,//成果ID
publishPlatform:thisdata.publishPlatform,//发布子平台ID
platformName:thisdata.platformName,//发布子平台ID
publishClient:thisdata.publishClient.toString(),//发布客户端
publishPage:thisdata.publishPage,//发布页面
publishPageName:thisdata.publishPageName,//发布页面
ifTop:thisdata.ifTop.toString(),//是否置顶
topNumber:thisdata.topNumber,//置顶编号
showNumber:thisdata.showNumber,//显示编号
publisher:thisdata.publisher,//发布人ID
publishTime:thisdata.publishTime,//发布时间
serialNumber:thisdata.serialNumber,//成果编号
name:thisdata.name,//成果名称
userName:thisdata.userName,//成果所有人
publisherName:thisdata.publisherName,//发布人名称
publishTimeFormattedDate:thisdata.publishTimeFormattedDate,//发布时间
});
};
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
};
this.setState({
dataSource: theArr,
pagination: this.state.pagination
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
loadDatas(pageNo, apiUrl) {
this.state.data = [];
if(this.state.serialNumber&&isNaN(this.state.serialNumber)){
message.warning('请输入正确的编号格式');
return false;
}
this.setState({
loading: true,
ispage:pageNo,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/demand/orgList',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
serialNumber: this.state.serialNumber, //编号
name: this.state.name,
auditStatus:3,//名称
keyword: this.state.keyword, // 关键词
category: this.state.category, //类型(0--专利, 2--软著, 3--项目, 4--版权, 5--工业设计, 6--配方, 7--非标)
releaseDateStartDate: this.state.releaseDate[0],
releaseDateEndDate: this.state.releaseDate[1],
releaseStatus: this.state.releaseStatus ? Number(this.state.releaseStatus) : undefined, //是否发布(0--未发布,1--已发布)
boutique:this.state.boutique,
hot:this.state.hot,
createDateStartDate: this.state.releaseDateS[0],
createDateEndDate: this.state.releaseDateS[1],
ownerType:this.state.ownerType,
},
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: thisdata.id,
id: thisdata.id,
serialNumber: thisdata.serialNumber,
dataCategory: thisdata.dataCategory,
name: thisdata.name,
keyword: thisdata.keyword,
theName: thisdata.username || thisdata.ownerName,
category: thisdata.category,
ownerName: thisdata.username ? thisdata.username : thisdata.ownerName,
ownerType: thisdata.ownerType,
ownerMobile: thisdata.ownerMobile,
status: thisdata.status,
releaseDate: thisdata.releaseDate,
releaseDateFormattedDate: thisdata.releaseDateFormattedDate,
auditStatus: thisdata.auditStatus,
boutique: thisdata.boutique,
hot: thisdata.hot,
releaseStatus: thisdata.releaseStatus,
techBrokerId:thisdata.techBrokerId,
createTimeFormattedDate: thisdata.createTimeFormattedDate,
remark:thisdata.remark,
ispage:pageNo,
});
};
this.state.paginations.current = data.data.pageNo;
this.state.paginations.total = data.data.totalCount;
};
this.setState({
dataSourcesli: theArr,
paginations: this.state.paginations
});
}.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: 'serialNumber',
key: 'serialNumber',
}, {
title: '需求名称',
dataIndex: 'name',
key: 'name',
}, {
title: '客户名称',
dataIndex: 'userName',
key: 'userName',
}, {
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: 'serialNumber',
key: 'serialNumber',
}, {
title: '名称',
dataIndex: 'name',
key: 'name',
}, {
title: '关键字',
dataIndex: 'keyword',
key: 'keyword',
}, {
title: '类型',
dataIndex: 'category',
key: 'category',
render: text => { return getAchievementCategory(text); }
}, {
title: '录入人',
dataIndex: 'techBrokerId',
key: 'techBrokerId',
},
{
title: '是否精品',
dataIndex: 'boutique',
key: 'boutique',
render: text => { return getboutique(text) }
},
{
title: '发布时间',
dataIndex: 'releaseDateFormattedDate',
key: 'releaseDateFormattedDate',
},{
title: '录入时间',
dataIndex: 'createTimeFormattedDate',
key: 'createTimeFormattedDate',
}
],
dataSourcesli: [],
searchTime: [,]
};
},
componentWillMount() {
this.selectSuperIds();
},
examine(record) {
this.setState({
selectedRowKeys: [],
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/demand/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/demand/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/demand/addDemandPublish',
data:{
demandId: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.employerName= undefined;//需求雇主清零
this.state.publishClient = undefined;//发布客户端清零
this.state.publishPage = undefined;//发布页面清零
this.state.ifTop = undefined;//是否置顶清零
this.selectSuperId();
},
resets() {
this.state.serialNumber = undefined;
this.state.name = undefined;
this.state.keyword = undefined;
this.state.infoSources = undefined;
this.state.demandType = undefined;
this.state.searchName = undefined;
this.state.searchType = 0;
this.state.boutique = '';
this.state.hot='' ;
this.state.status = undefined;
this.state.releaseStatus = undefined;
this.state.auditStatus = undefined;
this.state.dataCategory = undefined;
this.state.validityPeriodDate = [];
this.state.releaseDate = [];
this.state.releaseDateS = [];
this.loadDatas();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore
});
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach(item => {
arr.forEach(val => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr
});
},
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;