import React,{Component} from "react"; import {Button, Form, Input, message, Popconfirm, Select, Spin, Table, Tabs, Upload} from "antd"; import {ChooseList} from "../../order/orderNew/chooseList"; import $ from "jquery/src/ajax"; import { patentTypeList} from '@/dataDic.js'; import {getPatentType} from "@/tools.js"; import './patent.less'; import PatentDetails from './patentDetails'; const { TabPane } = Tabs; class List extends Component{ constructor(props) { super(props); this.state={ loading:false, columns:[ { title: "序号", dataIndex: "id", key: "id", }, { title: "专利名称", dataIndex: "name", key: "name", }, { title: "专利类型", dataIndex: "type", key: "type", render: (text) => { return ( getPatentType(text) ) } }, { title: "申请日", dataIndex: "applyDates", key: "applyDates", }, { title: "权利人", dataIndex: "holders", key: "holders", }, { title: "发明人", dataIndex: "inventor", key: "inventor", }, { title: "收费截止日", dataIndex: "", key: "", }, { title: "年费状态", dataIndex: "annualFeeStatus", key: "annualFeeStatus", render: (text)=>{ return ( text === 0 ? '无信息' : text === 1 ? '代缴费' : '' ) } }, { title: "营销员是否提醒", dataIndex: "salesmanRemind", key: "salesmanRemind", render: (text)=>{ return( text === 0 ? '未提醒' : text === 1 ? '已提醒' : '' ) } }, { title: "年费/滞纳金/恢复", dataIndex: "delayingAmount", key: "delayingAmount", render:(text,record)=>{ return( (record.patentAmount || '无') + '/' + (text || '无') + '/' + (record.recoveryAmount || '无') ) } }, { title: "客户名称", dataIndex: "companyName", key: "companyName", }, { title: "项目名称", dataIndex: "projectName", key: "projectName", }, { title: "项目编号", dataIndex: "tid", key: "tid", }, { title: "营销员", dataIndex: "salesmanName", key: "salesmanName", }, { title: "咨询师", dataIndex: "techName", key: "techName", }, { title: "派单部门", dataIndex: "depName", key: "depName", }, { title: "操作", dataIndex: "id", key: "caozuo", render: (text,record) => { return (
) } }, ], dataSource:[], pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadData(page,this.state.searchInfor); }.bind(this), showTotal: function (total) { return "共" + total + "条数据"; }, }, detailsVisible:false, detailsInfor:{}, departmentArr:[], selectedRowKeys:[], name:undefined, type:undefined, depName:undefined, annualFeeStatus:undefined, userName:undefined, salesmanRemind:undefined, aname:undefined, upLoad: { customRequest: (options) => { this.setState({ upLoadFileLoading: true, }) let params = new FormData(); params.append("file", options.file); $.ajax({ method: "post", url: globalConfig.context + "/api/admin/patentNew/import", async: true, cache: false, contentType: false, processData: false, data:params }).done( function (data) { this.setState({ upLoadFileLoading: false, }) if (data.error.length === 0) { message.success("导入成功!"); this.loadData(); } else { message.warning(data.error[0].message); this.loadData(); } }.bind(this) ).always( function () { this.loadData(); this.setState({ upLoadFileLoading: false, }); }.bind(this) ); }, name: "file", action: globalConfig.context + "/api/admin/patentNew/import", } } this.changeList = this.changeList.bind(this); this.loadData = this.loadData.bind(this); this.download = this.download.bind(this); this.departmentList = this.departmentList.bind(this); this.exportExec = this.exportExec.bind(this); this.onReset = this.onReset.bind(this); } componentDidMount() { this.loadData(); this.departmentList(); } changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); } loadData(pageNo) { this.setState({ loading: true, selectedRowKeys:[], }); let data = { name:this.state.name, type:this.state.type, depName:this.state.depName, annualFeeStatus:this.state.annualFeeStatus, userName:this.state.userName, salesmanRemind:this.state.salesmanRemind, aname:this.state.aname, pageNo:pageNo || 1, pageSize:10, } for(let i in data){ if(data[i] === undefined){delete data[i]} } $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patentNew/selectPatentNew", data, success: function (data) { if(data.error.length === 0){ this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ page: data.data.pageNo, dataSource: data.data.list, pagination: this.state.pagination, }); }else{ message.warning(data.error[0].message); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); } download() { window.location.href = globalConfig.context + "/api/user/channel/downloadTemplate?" + "sign=user_channel"; } downloadFile() { window.location.href = globalConfig.context + "/api/admin/patentNewexportTemplate?" + "sign=new_patent_template"; } //部门 departmentList() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function(data) { if(data.error.length === 0){ let theArr=[]; data.data.map(function(item,index){ theArr.push({ key:index, name:item.name, id:item.id, }) }) this.setState({ departmentArr:theArr, }) }else{ message.warning(data.error[0].message); } }.bind(this), }).always(function() { }.bind(this)); } exportExec(){ let loading = message.loading('加载中...'); let data = { name:this.state.name, type:this.state.type, depName:this.state.depName, annualFeeStatus:this.state.annualFeeStatus, userName:this.state.userName, salesmanRemind:this.state.salesmanRemind, aname:this.state.aname, } for(let i in data){ if(data[i] === undefined){delete data[i]} } $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patentNew/export", data, success: function(data) { if(data.error.length === 0){ loading(); this.download(data.data.data); }else{ loading(); message.warning(data.error[0].message); } }.bind(this), }).always(function() { }.bind(this)); } download(fileName){ window.location.href = globalConfig.context + "/open/download?fileName=" + fileName } onReset(){ this.setState({ name:undefined, type:undefined, depName:undefined, annualFeeStatus:undefined, userName:undefined, salesmanRemind:undefined, aname:undefined, },()=>{this.loadData();}) } render() { return (
专利列表
{this.setState({name:e.target.value})}} placeholder="请输入专利名称"/> {this.setState({aname:e.target.value})}} placeholder="请输入跟进人名称"/> {this.setState({userName:e.target.value})}} placeholder="请输入客户名称"/>
{ e.stopPropagation(); }} okText="确定" cancelText="取消">
{ this.setState({ detailsVisible:true, detailsInfor:record }) }} rowSelection={{ selectedRowKeys:this.state.selectedRowKeys, onChange: (selectedRowKeys)=>{ this.setState({ selectedRowKeys }); }, }} scroll={{ x: "max-content", y: 0 }} bordered size="small" /> {this.state.detailsVisible ? { this.setState({ detailsVisible:false, detailsInfor:{} }) }} /> : null} ) } } export default List;