import React from 'react';
import $ from 'jquery/src/ajax';
import {
Form, Button, Input, Select, InputNumber, Spin, Table,
message, DatePicker, Modal, Tabs
} from 'antd';
import moment from 'moment';
import { ShowModal, } from '../../../tools.js';
import { ChooseList } from "../../order/orderNew/chooseList";
import "./index.less";
const { TabPane } = Tabs
const FormItem = Form.Item;
const Standard = Form.create()(React.createClass({
getInitialState() {
return {
searchValues: {},
loading: false,
changeList: undefined, // 更改后的表格显示数据
dataSource: [],
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 20,
onChange: function (page) {
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
columns: [
{
title: '链接',
dataIndex: 'url',
key: 'url',
width: 360,
render: text =>
{text}
//
{
// window.open(text)
// }}>
// {text}
//
},
{
title: '标准平台',
dataIndex: 'name',
key: 'name',
},
{
title: '排序',
dataIndex: 'sort',
key: 'sort',
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
render: text => {["关闭", "开启"][text]}
},
{
title: '更新时间',
dataIndex: 'updateTime',
key: 'updateTime',
},
],
visible: "",
data: {},
};
},
componentWillMount() {
this.loadData();
},
// 列表接口
loadData(pageNo) {
const { searchValues, pagination } = this.state;
this.setState({
loading: true,
});
let datas = Object.assign(searchValues, {
pageNo: pageNo || 1,
pageSize: pagination.pageSize,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/standardPlatformLink/list",
data: datas,
success: function (data) {
ShowModal(this);
this.setState({
loading: false,
});
if (data.error && data.error.length === 0) {
if (data.data.list) {
pagination.current = data.data.pageNo;
pagination.total = data.data.totalCount;
if (data.data && data.data.list && !data.data.list.length) {
pagination.current = 0;
pagination.total = 0;
}
this.setState({
dataSource: data.data.list,
pagination: this.state.pagination,
pageNo: data.data.pageNo,
});
} else {
this.setState({
dataSource: data.data,
pagination: false,
});
}
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
// 搜索
search() {
this.loadData();
},
// 重置
reset() {
this.setState({
searchValues: {}
}, () => {
this.loadData();
})
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach(item => {
arr.forEach(val => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr
});
},
addClick() {
this.setState({
visible: "add"
})
},
tableRowClick(e) {
if (!adminData.isSuperAdmin) {
return
}
this.setState({
visible: "edit",
})
this.getDetails(e.id)
},
// 数据详情
getDetails(id) {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/standardPlatformLink/get",
data: {
id,
},
success: function (data) {
let thedata = data.data || {};
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
}
this.setState({
data: thedata,
})
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
handleCancel() {
this.setState({
visible: "",
data: {},
})
},
// 提交保存
handleSubmit() {
const { data } = this.state
if (!data.name) {
message.warning('标准平台名称不能为空!');
return;
}
if (!data.url) {
message.warning('链接不能为空!');
return;
}
if (!data.sort && data.sort != 0) {
message.warning('排序不能为空!');
return;
}
if (!data.status && data.status != 0) {
message.warning('请选择状态!');
return;
}
if (data.id) {
delete data.createTime;
delete data.updateTime;
delete data.aid;
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url:
data.id
? globalConfig.context + '/api/admin/standardPlatformLink/update'
: globalConfig.context + '/api/admin/standardPlatformLink/add',
data,
}).done(function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success('保存成功!');
this.handleCancel();
this.loadData(this.state.pageNo);
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
render() {
const { RangePicker } = DatePicker;
const { searchValues, data } = this.state
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 16 },
};
return (
{
this.state.visible != "" &&
}
);
}
}));
export default Standard;