import React from 'react';
import { Radio, Icon, Button, AutoComplete,Cascader,Input, Select, Spin, Popconfirm, Table, Switch, message, DatePicker, Upload, Form ,Modal,Tabs} from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import moment from 'moment';
import TechAchievementDesc from '@/manageCenter/achievement/crmAchievement.jsx';
import { citySelect, provinceList ,areaSelect} from '@/NewDicProvinceList';
import { socialAttribute, industry, auditStatusL, lvl, currentMember ,slcRedit,dataGrade,cityArr,patentTypeList} from '@/dataDic.js';
import {
getSocialAttribute,
beforeUploadFile,
splitUrl,
getSlcRedit,
getDataGrade,
getAchievementCategory,
getTechAuditStatus,
getboutique,
getPatentType,
getcityArr,
getPatentTypeva,
ShowModal
} from "@/tools.js";
import './customer.less';
import ShowModalDiv from "@/showModal.jsx";
const Option = AutoComplete.Option;
//图片组件
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 { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{fileList.length >= 18 ? null : uploadButton}
);
}
});
const PatentPayment = Form.create()(React.createClass({
departmentList() {
this.setState({
loading: true
});
$.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() {
this.setState({
loading: false
});
}.bind(this));
},
loadData(pageNo){
this.setState({
loading: true
}),
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/patentNew/selectPatentNew',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
status:this.state.statusSearch,
name:this.state.nameSearch,
aname:this.state.anameSearch,
patentNo:this.state.patentNoSearch,
departmentId:this.state.departmentSearch,
startDate:this.state.timesArr[0],
endDate:this.state.timesArr[1],
type:this.state.typeSearch,
},
success:function (data) {
ShowModal(this);
let theArr = [];
if(!data.data) {
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({
id:thisdata.id,
province:thisdata.province,
status:thisdata.status,
patentNo:thisdata.patentNo,
name:thisdata.name,
type:thisdata.type,
applyDates:thisdata.applyDates,
authorizationDates:thisdata.authorizationDates,
patentAmount:thisdata.patentAmount,
applicant:thisdata.applicant,
contactMobile:thisdata.contactMobile,
email:thisdata.email,
certificateUrl:thisdata.certificateUrl,
aname:thisdata.aname,
depName:thisdata.depName,
});
};
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
};
if(!data.data.list.length) {
this.state.pagination.current = 0
this.state.pagination.total = 0
}
this.setState({
pageNo: pageNo,
dataSource: theArr,
pagination: this.state.pagination,
});
}.bind(this)
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
getInitialState(){
return {
loading:false,
visible:false,
orgCodeUrl:[],
fileList:[],
departmentArr:[],
timesArr:[],
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function(page) {
this.loadData(page);
}.bind(this),
showTotal: function(total) {
return '共' + total + '条数据';
}
},
dataSource:[],
columns:[{
title: '专利号',
dataIndex: 'patentNo',
key: 'patentNo'
},{
title: '专利名称',
dataIndex: 'name',
key: 'name'
},{
title: '专利类型',
dataIndex: 'type',
key: 'type',
render:text=>{
return getPatentType(text)
}
},{
title: '申请日期',
dataIndex: 'applyDates',
key: 'applyDates'
},{
title: '授权日期',
dataIndex: 'authorizationDates',
key: 'authorizationDates'
},{
title: '费用',
dataIndex: 'patentAmount',
key: 'patentAmount'
},{
title: '授权公司',
dataIndex: 'applicant',
key: 'applicant'
},{
title: '录入人',
dataIndex: 'aname',
key: 'aname'
},{
title: '录入公司',
dataIndex: 'depName',
key: 'depName'
},{
title: '联系电话',
dataIndex: 'contactMobile',
key: 'contactMobile'
},{
title: '电子邮箱',
dataIndex: 'email',
key: 'email'
},{
title: '状态',
dataIndex: 'status',
key: 'status',
render:text=>{
if (text === 1) {
return '已提醒'
}else{
return '待提醒'
}
}
}]
}
},
componentWillMount(){
this.loadData()
this.departmentList()
let data=localStorage.getItem('newData');
if(data!='{}'&&data){
var newData = JSON.parse(data);
this.tableRowClick(newData);
};
},
new(){
this.reset();
this.setState({
visible:true
})
},
visitCancel(){
this.state.fileList = [];
this.setState({
visible:false
})
},
onSure(){
let theorgCodeUrl = [];
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);
}
});
theorgCodeUrl = picArr.join(",");
};
console.log(typeof theorgCodeUrl)
if (!this.state.patentNo) {
message.warning('专利号不能为空')
return
}
if (!this.state.patentName) {
message.warning('专利名称不能为空')
return
}
if(this.state.patentType === ''){
message.warning('专利类型不能为空');
return
}
if(this.state.email === ''){
message.warning('电子邮箱不能为空');
return
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context +'/api/admin/patentNew/addPatentNew' ,
data: {
patentNo:this.state.patentNo,
name:this.state.patentName,
type:this.state.patentType,
applyDates:this.state.appDate,
authorizationDates:this.state.authDate,
applicant:this.state.proposer,
province:this.state.province,
contactMobile:this.state.contactPhone,
email:this.state.email,
certificateUrl:theorgCodeUrl.length?theorgCodeUrl:'',
}
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('保存成功!');
this.onCal()
this.loadData()
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
tableRowClick(record,index){
this.state.RowData = record
this.setState({
avisible:true,
patentNo:record.patentNo,
patentName:record.name,
province:record.province,
status:record.status,
patentType:record.type,
appDate:record.applyDates,
authDate:record.authorizationDates,
proposer:record.applicant,
contactPhone:record.contactMobile,
email:record.email,
certificateUrl:record.certificateUrl,
orgCodeUrl: record.certificateUrl ? splitUrl(record.certificateUrl, ',', globalConfig.avatarHost + '/upload') : [],
})
localStorage.setItem('newData','{}');
},
xiugai(record){
let theorgCodeUrl = [];
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);
}
});
theorgCodeUrl = picArr.join(",");
};
console.log(typeof this.state.patentType)
if (!this.state.patentNo) {
message.warning('专利号不能为空')
return
}
if (!this.state.patentName) {
message.warning('专利名称不能为空')
return
}
if(this.state.patentType === ''){
message.warning('专利类型不能为空');
return
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context +'/api/admin/patentNew/updatePatentNew' ,
data: {
id:record.id,
patentNo:this.state.patentNo,
name:this.state.patentName,
type:this.state.patentType,
applyDates:this.state.appDate,
authorizationDates:this.state.authDate,
applicant:this.state.proposer,
province:this.state.province,
contactMobile:this.state.contactPhone,
email:this.state.email,
status:this.state.status,
certificateUrl:theorgCodeUrl.length?theorgCodeUrl:'',
},
success: function (data) {
}.bind(this),
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('修改成功!');
this.avisitCancel()
this.loadData(this.state.pageNo)
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
baocunxiugai(){
this.xiugai(this.state.RowData)
},
avisitCancel(){
this.setState({
avisible:false
})
},
reset(){
this.setState({
patentNo:'',
patentName:'',
patentType:undefined,
appDate:undefined,
authDate:undefined,
orgCodeUrl:'',
proposer:'',
province:undefined,
contactPhone:'',
email:''
})
},
searchReset(){
this.setState({
statusSearch:undefined,
nameSearch:undefined,
anameSearch:undefined,
patentNoSearch:undefined,
departmentSearch:undefined,
typeSearch:undefined,
timesArr:[],
},()=>{
this.loadData()
})
},
search(){
this.loadData()
},
onCal(){
this.setState({
visible:false
})
},
getOrgCodeUrl(e) {
this.setState({ orgCodeUrl: e });
},
render(){
const theData = this.state.RowData || {};
const FormItem = Form.Item;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const { MonthPicker, RangePicker, WeekPicker } = DatePicker;
return (
);
}
}))
export default PatentPayment;