import React from 'react';
import $ from 'jquery/src/ajax';
import {
Form, Icon, Button, Input, Select, AutoComplete, Spin, Table,
message, DatePicker, Modal, Tabs
} from 'antd';
import moment from 'moment';
import { ShowModal, splitUrl } from '../../../tools.js';
import { ChooseList } from "../../order/orderNew/chooseList";
import "./index.less";
import ImgList from "../../../common/imgList";
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: "",
fileList: this.props.pictureUrl,
};
},
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 { fileList } = this.state;
return (
{
this.handleChange(infor);
}}
fileList={fileList}
/>
);
},
});
const { TabPane } = Tabs
const FormItem = Form.Item;
const Standard = Form.create()(React.createClass({
getInitialState() {
return {
searchValues: {},
loading: false,
changeList: undefined, // 更改后的表格显示数据
dataSource: [],
departmentArr: [],
typeList: [
{ key: "国家标准", value: 0, },
{ key: "行业标准", value: 1, },
{ key: "地方标准", value: 2, },
{ key: "团体标准", value: 3, },
{ key: "国际标准", value: 4, },
{ key: "企业标准", value: 5, },
],
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: 'serialNumber',
key: 'serialNumber',
},
{
title: '标准名称',
dataIndex: 'name',
key: 'name',
},
{
title: '参考',
dataIndex: 'reference',
key: 'reference',
render: (text, record) => {['国家 ', '行业 ', '地方 ', '团体 ', '国际 ','企业 '][record.type]}{text}
},
{
title: '部门',
dataIndex: 'depName',
key: 'depName',
},
{
title: '负责人',
dataIndex: 'adminName',
key: 'adminName',
},
{
title: '标准状态',
dataIndex: 'status',
key: 'status',
render: text => {["关闭", "开启"][text]}
},
{
title: '更新时间',
dataIndex: 'updateTime',
key: 'updateTime',
},
{
title: '附件',
dataIndex: 'url',
key: 'url',
render: (text, record, index) =>
},
],
visible: "",
data: {},
orgCodeUrl: [],
};
},
componentWillMount() {
this.loadData();
this.departmentList();
},
// 列表接口
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/standard/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)
);
},
//部门
departmentList() {
$.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);
}
} else {
thedata.map(function (item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id
});
});
}
this.setState({
departmentArr: theArr
});
}.bind(this)
}).always(
function () {
}.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)
// const orgCodeUrl = e.url ? splitUrl(e.url, ',', globalConfig.avatarHost + '/upload') : []
// this.setState({
// visible: "edit",
// data: e,
// orgCodeUrl,
// adminName: e.adminName,
// })
},
getDetails(id) {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/standard/get",
data: {
id,
},
success: function (data) {
let thedata = data.data || {};
let orgCodeUrl = []
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
orgCodeUrl = thedata.url ? splitUrl(thedata.url, ',', globalConfig.avatarHost + '/upload') : []
}
this.setState({
data: thedata,
orgCodeUrl,
adminName: thedata.adminName,
})
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
getOrgCodeUrl(e) {
this.setState({
orgCodeUrl: e
});
},
handleCancel() {
this.setState({
visible: "",
adminName: undefined,
data: {},
orgCodeUrl: [],
})
},
handleSubmit() {
const { data } = this.state
if (!data.serialNumber) {
message.warning('标准编号不能为空!');
return;
}
if (!data.name) {
message.warning('标准名称不能为空!');
return;
}
if (!data.depId) {
message.warning('部门不能为空!');
return;
}
if (!data.status && data.status != 0) {
message.warning('请选择状态!');
return;
}
let pictureUrl = "";
if (this.state.orgCodeUrl.length) {
let picArr = [];
this.state.orgCodeUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
pictureUrl = picArr.join(",");
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url:
data.id
? globalConfig.context + '/api/admin/standard/update'
: globalConfig.context + '/api/admin/standard/add',
data: Object.assign(data, {
url: pictureUrl,
}),
}).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));
},
followUp(e) {
this.setState({
adminName: e
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/listAdminByName",
data: {
adminName: 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({
fjlist: thedata,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
selectF(value) {
const { data, fjlist } = this.state;
const newdataSources = JSON.stringify(fjlist) == "{}" ? [] : fjlist;
this.setState({
data: Object.assign(data, {
aid: newdataSources.find((item) => item.name == value).id,
}),
});
},
render() {
const { RangePicker } = DatePicker;
let departmentArr = this.state.departmentArr || [];
const { searchValues, data } = this.state
const dataSources = this.state.fjlist || [];
const options = dataSources.map((group) => (
{group.name}
));
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
return (
{
this.state.visible != "" &&
}
);
}
}));
export default Standard;