import React from "react";
import $ from "jquery/src/ajax";
import "react-quill/dist/quill.bubble.css";
import moment from "moment";
import {
Form,
Icon,
Button,
Input,
Select,
Spin,
Table,
message,
DatePicker,
Modal,
Upload,
Popconfirm,
Cascader,
InputNumber,
Radio,
TimePicker,
Tabs,
Tag
} from "antd";
import { areaSelect, getProvince } from "@/NewDicProvinceList"; //省市区
import {
getGameState,
splitUrl,
getprovince,
getStatuslist,
getLvl,
placeList,
province,
provinceStatus,
beforeUploadFile,
getPicPath
} from "@/tools.js";
const { Option } = Select;
import Editors from "@/richTextEditors"; //富文本编辑器
import ad01 from "./image/ad01.jpg";
import ad02 from "./image/ad02.jpg";
import ad03 from "./image/ad03.jpg";
import ad04 from "./image/ad04.jpg";
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: "",
fileList: []
};
},
getDefaultProps() {
return {
changeClick: this.modifyChange
};
},
handleCancel() {
this.setState({ previewVisible: false });
},
handlePreview(file) {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true
});
},
handleChange(info) {
let fileList = info.fileList;
this.setState({ fileList });
this.props.fileList(fileList);
},
componentWillReceiveProps(nextProps) {
this.state.fileList = nextProps.pictureUrl;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{fileList && fileList.length >= 1 ? null : uploadButton}
);
}
});
//主体
const TalentsList = Form.create()(
React.createClass({
loadData(pageNo) {
this.state.data = [];
this.setState({
loading: true,
page: pageNo
});
$.ajax({
method: "get",
dataType: "json",
url: globalConfig.context + "/api/admin/recruitment/listRecruitment",
data: {
pageNo: pageNo || this.state.pagination.current || 1,
pageSize: this.state.pagination.pageSize,
name: this.state.nameSearch
},
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 + 1,
id: thisdata.id,
name: thisdata.name,
releaseStatus: thisdata.releaseStatus,
sort: thisdata.sort,
province: thisdata.province,
region: thisdata.region,
content: thisdata.content,
releaseTimeConvert: thisdata.releaseTimeConvert
});
}
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)
);
},
getInitialState() {
return {
loading: false,
flag: true,
imgeditvisible: false,
activeKey: "1",
purchaseImg: [],
maximg: "",
timesArr: [],
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function(page) {
this.loadData(page);
this.setState({
selectedRowKeys: []
});
}.bind(this),
showTotal: function(total) {
return "共" + total + "条数据";
}
},
//数据类型
columns: [
{
title: "序号",
dataIndex: "key",
key: "key"
},
{
title: "职位名称",
dataIndex: "name",
key: "name"
},
{
title: "招聘省份",
dataIndex: "province",
key: "province",
render: e => {
let str = "";
provinceStatus.forEach(item => {
if (item.value == e) {
str = item.key;
}
});
return str;
}
},
{
title: "排序",
dataIndex: "sort",
key: "sort"
},
{
title: "是否发布",
dataIndex: "releaseStatus",
key: "releaseStatus",
render: s => {
return s ? (
已发布
) : (
未发布
);
}
},
{
title: "操作",
dataIndex: "c",
render: (text, record, index) => {
return (
{
}
{
{
this.delete(record.id);
}}
>
}
);
}
},
{
title: "发布时间",
dataIndex: "releaseTimeConvert",
key: "releaseTimeConvert"
}
],
//数据列表
dataSource: []
};
},
componentWillMount() {
this.loadData();
},
detailes(record) {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/banners/selectBanners",
data: {
id: record.id
},
success: function(data) {
let thisdata = data.data;
this.setState({
id: thisdata.id,
title: thisdata.title,
bannerUrl: thisdata.bannerUrl
? splitUrl(thisdata.bannerUrl, ",", globalConfig.avatarUploadHost)
: [],
sortNumber: thisdata.sort,
display: thisdata.display,
position: thisdata.position
});
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
},
//点击大图
maximg(url) {
this.setState({
imgeditvisible: true,
maximg: url
});
},
//删除按钮
delete(id) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/recruitment/deleteRecruitment",
data: {
id
},
success: function(data) {
this.loadData();
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
},
//阻止默认冒泡
stopPropagation(e) {
e.stopPropagation();
e.nativeEvent.stopImmediatePropagation();
},
imghandleCancel() {
this.setState({
imgeditvisible: false
});
},
//项目列表整行点击
tableRowClick(record, index) {
this.setState({
editvisible: true
});
this.edit(record);
},
edithandleCancel(e) {
this.setState(
{
editvisible: false
},
() => {
this.addReset();
}
);
this.loadData();
},
search() {
this.loadData();
},
add() {
this.setState({
editvisible: true,
flag: false
});
this.addReset();
},
cancelAdd() {
this.setState(
{
editvisible: false
},
() => {
this.setState({
flag: true
});
this.addReset();
}
);
this.loadData();
},
//撤下
remove(record,flag) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/recruitment/updateRecruitment",
data: {
id: record.id,
releaseStatus: flag
},
success: function(data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
this.loadData();
}
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
},
//编辑按钮操作
edit(record) {
this.setState({
flag: true,
editvisible: true
});
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/recruitment/selectRecruitment",
data: {
id: record.id
},
success: function(data) {
let thisdata = data.data;
let str = "";
placeList.forEach(item => {
if (item.value == thisdata.region) {
str = item.place;
}
});
this.setState({
id: thisdata.id,
name: thisdata.name,
releaseStatus: thisdata.releaseStatus,
province: thisdata.province + "",
region: thisdata.region,
regionStr: str,
editorcontext: thisdata.content,
sort: thisdata.sort,
time: thisdata.releaseTimeConvert,
createTimeConvert: thisdata.createTimeConvert
});
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
},
addNew(flag) {
if (this.state.flag) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url:
globalConfig.context + "/api/admin/recruitment/updateRecruitment",
data: {
id: this.state.id,
name: this.state.name,
province: this.state.province,
sort: this.state.sort,
content: this.state.editorcontext,
region: this.state.region,
releaseStatus: flag,
releaseTimes: this.state.time
},
success: function(data) {
let theArr = [];
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
this.cancelAdd();
}
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
} else {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/recruitment/addRecruitment",
data: {
name: this.state.name,
province: this.state.province,
sort: this.state.sort,
content: this.state.editorcontext,
region: this.state.region,
releaseStatus: flag,
releaseTimes: this.state.time
},
success: function(data) {
let theArr = [];
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
this.cancelAdd();
}
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
}
},
//新增框的清零
addReset() {
this.setState({
name: undefined,
sort: undefined,
display: 1,
province: [],
editorcontext: "",
region: undefined,
time: undefined
});
},
//搜索部分的清零
reset() {
this.state.nameSearch = undefined;
this.loadData();
},
imgOk() {
this.setState({
imgeditvisible: false
});
},
getOrgCodeUrl(e) {
this.setState({ bannerUrl: e });
},
render() {
const FormItem = Form.Item;
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
const { TextArea } = Input; //文本域
const { TabPane } = Tabs; //标签页
const { MonthPicker, RangePicker, WeekPicker } = DatePicker; //日期输入框
const dateFormat = "YYYY/MM/DD"; //日期格式
const theData = this.state.data || {};
return (
);
}
})
);
export default TalentsList;